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 - "${VOLUME_HOME}/docker/nginx-proxy/vhost:/etc/nginx/vhost.d" - "${VOLUME_HOME}/docker/nginx-proxy/html:/usr/share/nginx/html" - "${VOLUME_HOME}/docker/nginx-proxy/certs:/etc/nginx/certs:ro" - "${VOLUME_HOME}/docker/nginx-proxy/conf:/etc/nginx/conf.d" - "${VOLUME_HOME}/docker/nginx-proxy/dhparam:/etc/nginx/dhparam" letsencrypt: image: jrcs/letsencrypt-nginx-proxy-companion container_name: letsencrypt-nginx-proxy-companion restart: always volumes: - "${VOLUME_HOME}/docker/nginx-proxy/certs:/etc/nginx/certs" - "${VOLUME_HOME}/docker/nginx-proxy/vhost:/etc/nginx/vhost.d" - "${VOLUME_HOME}/docker/nginx-proxy/html:/usr/share/nginx/html" - "${VOLUME_HOME}/docker/nginx-proxy/dhparam:/etc/nginx/dhparam:ro" - /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}