version: '3' volumes: conf: vhost: html: dhparam: certs: networks: default: external: name: nginx-proxy services: nginx-proxy: image: jwilder/nginx-proxy container_name: nginx-proxy restart: always ports: - '80:80' - '443:443' volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - /etc/nginx/vhost.d - /usr/share/nginx/html - "${VOLUME_HOME}/docker/certs:/etc/nginx/certs:ro" letsencrypt: image: jrcs/letsencrypt-nginx-proxy-companion container_name: letsencrypt-nginx-proxy-companion restart: always volumes: - "${VOLUME_HOME}/docker/certs:/etc/nginx/certs:rw" - /var/run/docker.sock:/var/run/docker.sock:ro depends_on: - nginx-proxy environment: - NGINX_PROXY_CONTAINER=nginx-proxy static: image: nginx container_name: static-nginx restart: always volumes: - "${VOLUME_HOME}/static:/usr/share/nginx/html" ports: - "${STATIC_PORT}:80" environment: - VIRTUAL_HOST=${STATIC_TLD} - VIRTUAL_PORT=${STATIC_PORT} - LETSENCRYPT_HOST=${STATIC_TLD} - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL} nextcloud: image: nextcloud:fpm container_name: nextcloud restart: always volumes: - "${VOLUME_HOME}/applications/nextcloud:/var/www/html" ports: - "${NEXTCLOUD_PORT}:9000" environment: - SQLITE_DATABASE=my-nextcloud-database.sqlite - NEXTCLOUD_UPDATE=1 - NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER} - NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD} - NEXTCLOUD_TABLE_PREFIX=${NEXTCLOUD_TABLE_PREFIX} - VIRTUAL_HOST=${NEXTCLOUD_TLD} - VIRTUAL_PORT=${NEXTCLOUD_PORT} - LETSENCRYPT_HOST=${NEXTCLOUD_TLD} - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}