version: "3.7" networks: net: mail: services: mail: image: juanluisbaptiste/postfix:1.2.0 restart: always expose: - 25 env_file: - .env.smtp networks: - mail nginx: image: nginx:latest restart: unless-stopped volumes: - ./config/diggy.dev.conf:/etc/nginx/conf.d/diggy.conf - ./data/certbot/conf:/etc/letsencrypt - ./data/certbot/www:/var/www/certbot - /var/run/nginx-cache/jscache:/var/run/nginx-cache/jscache 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 - sandbox networks: - net certbot: image: certbot/certbot restart: unless-stopped volumes: - ./data/certbot/conf:/etc/letsencrypt - ./data/certbot/www:/var/www/certbot entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'" networks: - net web: build: context: . dockerfile: Dockerfile.repl expose: - 5000 - 3000 env_file: - .env volumes: - ./userland:/userland networks: - net - mail sandbox: privileged: true expose: - 8060 init: true ipc: none tty: true working_dir: $PWD/diggy-sandbox env_file: - .env environment: PYTHONDONTWRITEBYTECODE: 1 build: context: . dockerfile: Dockerfile.sandbox volumes: - ./userland:/userland - ./userland_tpl:/userland_tpl networks: - net volumes: user-base: