Advertisement
Guest User

docker-compose.yml

a guest
Apr 26th, 2023
379
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 3.58 KB | Source Code | 0 0
  1. version: '3.9' # optional since v1.27.0
  2. name: ch_api_prod
  3. services:
  4.   api_server_prod:
  5.     build:
  6.       context: ../../
  7.       dockerfile: ./docker/production/api_server/Dockerfile
  8.     container_name: api_server_prod
  9.     depends_on:
  10.       cache_server_prod:
  11.         condition: service_healthy
  12.       database_server_prod:
  13.         condition: service_healthy
  14.     env_file:
  15.      - .env
  16.     image: api_server_prod_image
  17.     networks:
  18.      - network
  19.     restart: 'always'
  20.     ports:
  21.      - '21347:21347'
  22.  
  23.   cache_server_prod:
  24.     build:
  25.       context: ../..
  26.       dockerfile: ./docker/production/cache_server/Dockerfile
  27.     container_name: cache_server_prod
  28.     env_file:
  29.      - .env
  30.     healthcheck:
  31.       test:
  32.        ['CMD-SHELL', 'redis-cli -p 23431 -a $REDIS_PASSWORD ping | grep PONG']
  33.       interval: 5s
  34.       timeout: 5s
  35.       retries: 3
  36.       start_period: 10s
  37.     image: cache_server_prod_image
  38.     networks:
  39.      - network
  40.     ports:
  41.      - '23431:23431'
  42.     restart: 'always'
  43.     volumes:
  44.      - cache_volume:/data
  45.  
  46.   certbot:
  47.     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
  48.     container_name: certbot_prod
  49.     depends_on:
  50.       web_server_prod:
  51.         condition: service_started
  52.     image: certbot/certbot
  53.     volumes:
  54.      - certbot_etc:/etc/letsencrypt
  55.       - certbot_var:/var/lib/letsencrypt
  56.       - web_server_root:/var/www/_letsencrypt
  57.  
  58.   database_server_prod:
  59.     build:
  60.       context: ../..
  61.       dockerfile: ./docker/production/database_server/Dockerfile
  62.     container_name: database_server_prod
  63.     env_file:
  64.      - .env
  65.     healthcheck:
  66.       test:
  67.        [
  68.           'CMD-SHELL',
  69.           "pg_isready -d 'host=database_server_prod user=ch_api_user port=26189 dbname=ch_api_db'",
  70.         ]
  71.       interval: 5s
  72.       timeout: 5s
  73.       retries: 3
  74.       start_period: 10s
  75.     image: database_server_prod_image
  76.     networks:
  77.      - network
  78.     ports:
  79.      - '26189:26189'
  80.     restart: 'always'
  81.     volumes:
  82.      - database_volume:/var/lib/postgresql/data
  83.  
  84.   dhparam_prod:
  85.     build:
  86.       context: ../..
  87.       dockerfile: ./docker/production/dhparam/Dockerfile
  88.     container_name: dhparam_prod
  89.     env_file:
  90.      - .env
  91.     image: dhparam_prod_image
  92.     networks:
  93.      - network
  94.     volumes:
  95.      - dhparam:/home/dhparam
  96.  
  97.   web_server_prod:
  98.     build:
  99.       context: ../..
  100.       dockerfile: ./docker/production/web_server/Dockerfile
  101.     container_name: web_server_prod
  102.     depends_on:
  103.       api_server_prod:
  104.         condition: service_started
  105.       dhparam_prod:
  106.         condition: service_completed_successfully
  107.     image: web_server_prod_image
  108.     networks:
  109.      - network
  110.     ports:
  111.      - '80:80'
  112.       - '443:443'
  113.     restart: always
  114.     volumes:
  115.      - certbot_etc:/etc/letsencrypt
  116.       - certbot_var:/var/lib/letsencrypt
  117.       - web_server_conf:/etc/nginx/conf.d
  118.       - web_server_root:/var/www/_letsencrypt
  119.       - dhparam:/etc/ssl/certs
  120.  
  121. networks:
  122.   network:
  123.     driver: bridge
  124.  
  125. volumes:
  126.   cache_volume:
  127.     driver: local
  128.   certbot_etc:
  129.     driver: local
  130.   certbot_var:
  131.     driver: local
  132.   dhparam:
  133.     driver: local
  134.   web_server_conf:
  135.     driver: local
  136.     driver_opts:
  137.       type: none
  138.       device: /home/ec2-user/api/docker/production/web_server/nginx
  139.       o: bind
  140.   web_server_root:
  141.     driver: local
  142.     driver_opts:
  143.       type: none
  144.       device: /home/ec2-user/api/_letsencrypt
  145.       o: bind
  146.   database_volume:
  147.     driver: local
  148.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement