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}