Files
trunk-server/docker-compose.yml
2021-01-17 10:52:00 -05:00

179 lines
3.5 KiB
YAML

version: "3"
services:
nginx:
build:
context: ./nginx-proxy
args:
STAGE: ${STAGE}
environment:
- DOMAIN_NAME
image: "nginx:${TAG}-${STAGE}"
networks:
- proxy
ports:
- "80:80"
- "443:443"
- "5602:5602"
restart: always
volumes:
- ${DATA}/log/syslog:/var/log/syslog
- ${DATA}/log/nginx:/var/log/nginx
depends_on:
- backend
- frontend
- account
- admin
command: /bin/bash -c "envsubst '$$DOMAIN_NAME' < /etc/nginx/conf.d/site.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
logging:
driver: syslog
options:
tag: "nginx"
mongo:
build:
context: ./mongo
environment:
- FREE_PLAN
- PRO_PLAN
- FREE_PLAN_ARCHIVE
- PRO_PLAN_ARCHIVE
image: "mongo:${TAG}-${STAGE}"
volumes:
- ${DATA}/mongo:/data/db
networks:
- node
restart: always
logging:
driver: syslog
options:
tag: "mongo"
backend:
build:
context: ./backend
image: "backend:${TAG}-${STAGE}"
pid: "host"
environment:
- MONGO_NODE_DRIVER_HOST=mongo
- BACKEND_SERVER
- ADMIN_SERVER
- FRONTEND_SERVER
- SOCKET_SERVER
- COOKIE_DOMAIN
- ACCOUNT_SERVER
- ADMIN_EMAIL
- SITE_NAME
- FREE_PLAN_ARCHIVE
- PRO_PLAN_ARCHIVE
- S3_ENDPOINT
- S3_BUCKET
- S3_PROFILE
volumes:
- "${MEDIA}:/home/app/trunk-server-backend/media"
- "~/.aws:/home/app/.aws"
depends_on:
- mongo
ports:
- "3005:3005"
networks:
- node
- proxy
restart: always
logging:
driver: syslog
options:
tag: "backend"
admin:
build:
context: ./admin
image: "admin:${TAG}-${STAGE}"
environment:
- MONGO_NODE_DRIVER_HOST=mongo
- BACKEND_SERVER
- ADMIN_SERVER
- FRONTEND_SERVER
- SOCKET_SERVER
- COOKIE_DOMAIN
- ACCOUNT_SERVER
- ADMIN_EMAIL
- SITE_NAME
- FREE_PLAN
- PRO_PLAN
depends_on:
- mongo
networks:
- node
- proxy
restart: always
logging:
driver: syslog
options:
tag: "admin"
account:
build:
context: ./account
image: "acount:${TAG}-${STAGE}"
environment:
- MONGO_NODE_DRIVER_HOST=mongo
- STRIPE_PUBLISHABLE_KEY
- STRIPE_SECRET_KEY
- MAILJET_KEY
- MAILJET_SECRET
- REACT_APP_BACKEND_SERVER
- REACT_APP_ADMIN_SERVER
- REACT_APP_FRONTEND_SERVER
- SOCKET_SERVER
- COOKIE_DOMAIN
- ACCOUNT_SERVER
- ADMIN_EMAIL
- SITE_NAME
- FREE_PLAN
- PRO_PLAN
- FREE_PLAN_PRICE
- PRO_PLAN_PRICE
depends_on:
- mongo
networks:
- node
- proxy
restart: always
logging:
driver: syslog
options:
tag: "account"
frontend:
build:
context: ./frontend
image: "frontend:${TAG}-${STAGE}"
environment:
- MONGO_NODE_DRIVER_HOST=mongo
- BACKEND_SERVER
- ADMIN_SERVER
- FRONTEND_SERVER
- SOCKET_SERVER
- COOKIE_DOMAIN
- ACCOUNT_SERVER
- ADMIN_EMAIL
- SITE_NAME
- FREE_PLAN
- PRO_PLAN
- FREE_PLAN_ARCHIVE
- PRO_PLAN_ARCHIVE
depends_on:
- mongo
networks:
- node
- proxy
restart: always
logging:
driver: syslog
options:
tag: "frontend"
networks:
proxy:
node: