version: '3' services: nginx: image: nginx:1.16-alpine restart: unless-stopped volumes: - ./conf/nginx:/etc/nginx/conf.d - ./conf/certbot/conf:/etc/letsencrypt - ./conf/certbot/www:/var/www/certbot - ./static_collected:/app/static_collected - ./data/media:/app/data/media ports: - "80:80" - "443:443" command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'" depends_on: - web networks: - nginx_network certbot: image: certbot/certbot restart: unless-stopped volumes: - ./conf/certbot/conf:/etc/letsencrypt - ./conf/certbot/www:/var/www/certbot entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'" web: build: "." links: - "db:postgres" volumes: - ".:/app:rw" - "./data:/data:rw" - ./static_collected:/app/static_collected - ./data/media:/app/data/media networks: - nginx_network - db_network command: "/bin/sh -c '/app/wait-for-postgres.sh postgres /app/run.sh'" env_file: - ./.env db: image: postgres:9.6-alpine env_file: - ./.env-db volumes: - ".:/app:rw" - "./pgdata:/var/lib/postgresql/data:rw" networks: - db_network networks: nginx_network: driver: bridge db_network: driver: bridge