services: db: image: postgres:alpine restart: always logging: driver: "json-file" options: max-size: "50m" volumes: - db:/var/lib/postgresql/data:Z env_file: - db.env redis: image: redis:alpine restart: always app: image: nextcloud:apache restart: always logging: driver: "json-file" options: max-size: "50m" volumes: - nextcloud:/var/www/html:z environment: - VIRTUAL_HOST= - LETSENCRYPT_HOST= - LETSENCRYPT_EMAIL= - POSTGRES_HOST=db - REDIS_HOST=redis env_file: - db.env depends_on: - db - redis - proxy networks: - proxy-tier - default cron: image: nextcloud:apache restart: always logging: driver: "json-file" options: max-size: "50m" volumes: - nextcloud:/var/www/html:z entrypoint: /cron.sh depends_on: - db - redis proxy: build: ./proxy restart: always logging: driver: "syslog" ports: - 80:80 - 443:443 labels: - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy" volumes: - certs:/etc/nginx/certs:ro:z - conf.d:/etc/nginx/conf.d:z - vhost.d:/etc/nginx/vhost.d:z - html:/usr/share/nginx/html:z - /var/run/docker.sock:/tmp/docker.sock:z,ro networks: - proxy-tier letsencrypt-companion: image: nginxproxy/acme-companion restart: always volumes: - certs:/etc/nginx/certs:z - acme:/etc/acme.sh:z - conf.d:/etc/nginx/conf.d:z - vhost.d:/etc/nginx/vhost.d:z - html:/usr/share/nginx/html:z - /var/run/docker.sock:/var/run/docker.sock:z,ro networks: - proxy-tier depends_on: - proxy # self signed # omgwtfssl: # image: paulczar/omgwtfssl # restart: "no" # volumes: # - certs:/certs # environment: # - SSL_SUBJECT=servhostname.local # - CA_SUBJECT=my@example.com # - SSL_KEY=/certs/servhostname.local.key # - SSL_CSR=/certs/servhostname.local.csr # - SSL_CERT=/certs/servhostname.local.crt # networks: # - proxy-tier volumes: db: nextcloud: certs: acme: vhost.d: conf.d: html: networks: proxy-tier: