version: '3.4' services: mongo: image: mongo:3.4 volumes: - dbdata:/data/db - "$PWD/mongo/:/docker-entrypoint-initdb.d/" ports: - '27017:27017' environment: - MONGO_INITDB_ROOT_USERNAME=${MONGO_INITDB_ROOT_USERNAME} - MONGO_INITDB_ROOT_PASSWORD=${MONGO_INITDB_ROOT_PASSWORD} - MONGO_INITDB_DATABASE=${MONGO_INITDB_DATABASE} - MONGO_RW_USERNAME=${MONGO_RW_USERNAME} - MONGO_RW_PASSWORD=${MONGO_RW_PASSWORD} nginx: image: nginx:1.13 volumes: - "$PWD/nginx/alpha.editor.p5js.org.conf:/etc/nginx/conf.d/default.conf" ports: - '80:80' links: - app app: image: catarak/p5.js-web-editor # this is so infuriating that i have to map EVERY ENV VARIABLE environment: - MONGO_URL=mongodb://mongo:27017/p5js-web-editor - MONGO_HOSTNAME=mongo - MONGO_PORT=${MONGO_PORT} - MONGO_NAME=${MONGO_NAME} - PORT=${PORT} - SESSION_SECRET=${SESSION_SECRET} - AWS_ACCESS_KEY=${AWS_ACCESS_KEY} - AWS_SECRET_KEY=${AWS_SECRET_KEY} - S3_BUCKET=${S3_BUCKET} - AWS_REGION=${AWS_REGION} - GITHUB_ID=${GITHUB_ID} - GITHUB_SECRET=${GITHUB_SECRET} - MAILGUN_DOMAIN=${MAILGUN_DOMAIN} - MAILGUN_KEY=${MAILGUN_KEY} - EMAIL_SENDER=${EMAIL_SENDER} - EMAIL_VERIFY_SECRET_TOKEN=${EMAIL_VERIFY_SECRET_TOKEN} - S3_BUCKET_URL_BASE=${S3_BUCKET_URL_BASE} - GG_EXAMPLES_USERNAME=${GG_EXAMPLES_USERNAME} - GG_EXAMPLES_PASS=${GG_EXAMPLES_PASS} - GG_EXAMPLES_EMAIL=${GG_EXAMPLES_EMAIL} - GOOGLE_ID=${GOOGLE_ID} - GOOGLE_SECRET=${GOOGLE_SECRET} - EXAMPLE_USER_EMAIL=${EXAMPLE_USER_EMAIL} - EXAMPLE_USER_PASSWORD=${EXAMPLE_USER_PASSWORD} - MONGO_INITDB_ROOT_USERNAME=${MONGO_INITDB_ROOT_USERNAME} - MONGO_INITDB_ROOT_PASSWORD=${MONGO_INITDB_ROOT_PASSWORD} - MONGO_INITDB_DATABASE=${MONGO_INITDB_DATABASE} - MONGO_RW_USERNAME=${MONGO_RW_USERNAME} - MONGO_RW_PASSWORD=${MONGO_RW_PASSWORD} volumes: - .:/opt/node/app - /opt/node/app/node_modules ports: - '8000:8000' # - '443:443' links: - mongo volumes: dbdata: