Not really
Pretty much everything is running through Docker Compose. I canāt think of anything that isnāt. Hereās my docker-compose.yml:
---
version: "3.6"
services:
nextcloud:
image: linuxserver/nextcloud
container_name: nextcloud
environment:
- PUID=1001
- PGID=1001
- TZ=Country/City
volumes:
- /opt/docker/config/nextcloud:/config
- /opt/docker/data/nextcloud:/data
restart: unless-stopped
mariadb:
image: linuxserver/mariadb
container_name: mariadb
environment:
- PUID=1001
- PGID=1001
- MYSQL_ROOT_PASSWORD=super_secret_password
- MYSQL_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- TZ=Country/City
volumes:
- /opt/docker/config/mariadb:/config
ports:
- 3306:3306
restart: unless-stopped
ddclient:
image: linuxserver/ddclient
container_name: ddclient
environment:
- PUID=1001
- PGID=1001
- TZ=Country/City
volumes:
- /opt/docker/config/ddclient:/config
restart: unless-stopped
letsencrypt:
image: linuxserver/letsencrypt
container_name: letsencrypt
cap_add:
- NET_ADMIN
environment:
- PUID=1001
- PGID=1001
- TZ=Country/City
- URL=mydomain.com
- SUBDOMAINS=wildcard
- VALIDATION=dns
- DNSPLUGIN=cloudflare
volumes:
- /opt/docker/config/letsencrypt:/config
ports:
- 443:443
- 80:80
restart: unless-stopped
postfix:
hostname: "mail"
image: "boky/postfix"
container_name: postfix
restart: always
healthcheck:
test: [ "CMD", "sh", "-c", "netstat -an | fgrep 587 | fgrep -q LISTEN" ]
interval: 10s
timeout: 5s
start_period: 10s
retries: 2
ports:
- 1587:587
volumes:
- /opt/docker/config/postfix:/etc/opendkim/keys
environment:
- ALLOWED_SENDER_DOMAINS=mydomain.com
- INBOUND_DEBUGGING=1
- MASQUERADED_DOMAINS=mydomain.com
clamav:
image: mkodockx/docker-clamav:alpine
container_name: clamav
restart: unless-stopped
jellyfin:
image: linuxserver/jellyfin
container_name: jellyfin
environment:
- PUID=1001
- PGID=1001
- TZ=Country/City
volumes:
- /opt/docker/config/jellyfin:/config
- /opt/media/tvshows:/data/tvshows
- /opt/media/movies:/data/movies
ports:
- 8096:8096
restart: unless-stopped
collabora:
image: collabora/code
container_name: collabora
hostname: office.mydomain.com
ports:
- 9980:9980
cap_add:
- MKNOD
environment:
- domain=<cloud\\.mydomain\\.com>
- VIRTUAL_HOST=<office.mydomain.com>
- VIRTUAL_PORT=9980
- VIRTUAL_PROTO=https
- LETSENCRYPT_HOST=<office.mydomain.com>
- LETSENCRYPT_EMAIL=<me@email.com>
restart: unless-stopped
- cloud.mydomain.com = Nextcloud
- office.mydomain.com = Collabora
The Letās Encrypt container also contains the nginx reverse proxy.

