You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
version: '3'
|
|
|
|
|
|
|
|
services:
|
|
|
|
redis:
|
|
|
|
image: redis:alpine
|
|
|
|
expose:
|
|
|
|
- 6379
|
|
|
|
restart: always
|
|
|
|
environment:
|
|
|
|
- REDIS_REPLICATION_MODE=master
|
|
|
|
|
|
|
|
backend:
|
|
|
|
image: node:alpine
|
|
|
|
restart: always
|
|
|
|
expose:
|
|
|
|
- 3000
|
|
|
|
volumes:
|
|
|
|
- ./backend/:/home/node/app/backend/
|
|
|
|
- ./helpers/:/home/node/app/helpers/
|
|
|
|
working_dir: /home/node/app/backend
|
|
|
|
environment:
|
|
|
|
- NODE_ENV=production
|
|
|
|
command: sh -c 'npm i && nodejs index.mjs'
|
|
|
|
links:
|
|
|
|
- redis
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
|
|
|
|
frontend:
|
|
|
|
image: node:16-alpine
|
|
|
|
volumes:
|
|
|
|
- ./frontend/:/home/node/app/frontend/
|
|
|
|
working_dir: /home/node/app/frontend
|
|
|
|
command: sh -c 'npm i --also=dev && npm run build'
|
|
|
|
|
|
|
|
nginx:
|
|
|
|
image: nginx:alpine
|
|
|
|
restart: always
|
|
|
|
volumes:
|
|
|
|
- ./nginx.conf:/etc/nginx/nginx.conf
|
|
|
|
- ./frontend/dist/:/var/www/html/
|
|
|
|
ports:
|
|
|
|
- "8080:8080"
|
|
|
|
links:
|
|
|
|
- backend
|
|
|
|
depends_on:
|
|
|
|
- backend
|