freeCodeCamp/.gitpod.yml

44 lines
1.1 KiB
YAML

image:
file: .gitpod.Dockerfile
ports:
- port: 27017 # mongodb
onOpen: ignore
- port: 8000 # client
onOpen: open-preview
- port: 9228 # node debug
onOpen: ignore
- port: 3000 # api
onOpen: ignore
- port: 9229 # node debug
onOpen: ignore
tasks:
- name: db
# starting mongo in background, so it doesn't block prebuilds
before: >
mkdir -p /workspace/data &&
(~/mongodb/bin/mongod --dbpath /workspace/data &)
- name: server
before: export COOKIE_DOMAIN=gitpod.io && export HOME_LOCATION=$(gp url 8000) && export API_LOCATION=$(gp url 3000)
# init is not executed for prebuilt workspaces and restarts,
# so we should put all the heavy initialization here
init: >
cp sample.env .env &&
npm ci &&
gp await-port 27017 &&
npm run seed &&
~/mongodb/bin/mongo --eval "db.fsyncLock(); db.fsyncUnlock()"
command: >
npm run ensure-env &&
gp await-port 27017 &&
npm run develop:server
- name: client
before: export HOME_LOCATION=$(gp url 8000) && export API_LOCATION=$(gp url 3000)
command: >
gp await-port 3000 &&
cd ./client &&
npm run develop -- -H '0.0.0.0'
openMode: split-right