Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- version: '3.9' # optional since v1.27.0
- name: ch_api_prod
- services:
- api_server_prod:
- build:
- context: ../../
- dockerfile: ./docker/production/api_server/Dockerfile
- container_name: api_server_prod
- depends_on:
- cache_server_prod:
- condition: service_healthy
- database_server_prod:
- condition: service_healthy
- env_file:
- - .env
- image: api_server_prod_image
- networks:
- - network
- restart: 'always'
- ports:
- - '21347:21347'
- cache_server_prod:
- build:
- context: ../..
- dockerfile: ./docker/production/cache_server/Dockerfile
- container_name: cache_server_prod
- env_file:
- - .env
- healthcheck:
- test:
- ['CMD-SHELL', 'redis-cli -p 23431 -a $REDIS_PASSWORD ping | grep PONG']
- interval: 5s
- timeout: 5s
- retries: 3
- start_period: 10s
- image: cache_server_prod_image
- networks:
- - network
- ports:
- - '23431:23431'
- restart: 'always'
- volumes:
- - cache_volume:/data
- certbot:
- command: certonly --webroot --webroot-path=/var/www/_letsencrypt --email [email protected] --agree-tos --no-eff-email --staging -d ch.com -d www.ch.com -d api.ch.com -d www.api.ch.com
- container_name: certbot_prod
- depends_on:
- web_server_prod:
- condition: service_started
- image: certbot/certbot
- volumes:
- - certbot_etc:/etc/letsencrypt
- - certbot_var:/var/lib/letsencrypt
- - web_server_root:/var/www/_letsencrypt
- database_server_prod:
- build:
- context: ../..
- dockerfile: ./docker/production/database_server/Dockerfile
- container_name: database_server_prod
- env_file:
- - .env
- healthcheck:
- test:
- [
- 'CMD-SHELL',
- "pg_isready -d 'host=database_server_prod user=ch_api_user port=26189 dbname=ch_api_db'",
- ]
- interval: 5s
- timeout: 5s
- retries: 3
- start_period: 10s
- image: database_server_prod_image
- networks:
- - network
- ports:
- - '26189:26189'
- restart: 'always'
- volumes:
- - database_volume:/var/lib/postgresql/data
- dhparam_prod:
- build:
- context: ../..
- dockerfile: ./docker/production/dhparam/Dockerfile
- container_name: dhparam_prod
- env_file:
- - .env
- image: dhparam_prod_image
- networks:
- - network
- volumes:
- - dhparam:/home/dhparam
- web_server_prod:
- build:
- context: ../..
- dockerfile: ./docker/production/web_server/Dockerfile
- container_name: web_server_prod
- depends_on:
- api_server_prod:
- condition: service_started
- dhparam_prod:
- condition: service_completed_successfully
- image: web_server_prod_image
- networks:
- - network
- ports:
- - '80:80'
- - '443:443'
- restart: always
- volumes:
- - certbot_etc:/etc/letsencrypt
- - certbot_var:/var/lib/letsencrypt
- - web_server_conf:/etc/nginx/conf.d
- - web_server_root:/var/www/_letsencrypt
- - dhparam:/etc/ssl/certs
- networks:
- network:
- driver: bridge
- volumes:
- cache_volume:
- driver: local
- certbot_etc:
- driver: local
- certbot_var:
- driver: local
- dhparam:
- driver: local
- web_server_conf:
- driver: local
- driver_opts:
- type: none
- device: /home/ec2-user/api/docker/production/web_server/nginx
- o: bind
- web_server_root:
- driver: local
- driver_opts:
- type: none
- device: /home/ec2-user/api/_letsencrypt
- o: bind
- database_volume:
- driver: local
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement