aliens@infosec.pubtoSelfhosted@lemmy.world•Docker + Nextcloud = why is it so difficult?English
8·
1 year agoHere’s my docker-compose.yml for nextcloud (with minor privacy changes) that includes onlyoffice and drawio containers. SSL is not included and should be handled by NPM and you’ll need a proxy host for both drawio and onlyoffice. I use NPM in docker so I just add it to the docs network instead of exposing any additional ports. For onlyoffice the secret key gets regenerated each time the container starts so you’ll need to update onlyoffice setting in nextcloud each time (unless someone has a better solution). You can get the secret key by logging into the onlyoffice container and running
cat /etc/onlyoffice/documentserver-example/local.json
I’ve been running this solution for a few years without any major issues.
docker-compose.yml
version: '3.5'
networks:
docs:
name: docs
driver: bridge
services:
nextcloud:
image: linuxserver/nextcloud
container_name: nextcloud
environment:
- PUID=1000
- PGID=1000
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=P@ssWord321!
- MYSQL_HOST=nextcloud_db
- TZ="America/Chicago"
volumes:
- /home/user/docker/configs/nextcloud:/config
- /home/user/docker/configs/nextcloud_data:/data
restart: unless-stopped
depends_on:
- nextcloud_db
networks:
- docs
nextcloud_db:
image: linuxserver/mariadb:110.4.21mariabionic-ls31
container_name: nextcloud_db
restart: always
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=P@ssWord123!
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=P@ssWord321!
volumes:
- /home/user/docker/configs/nextcloud_db/mysql:/config
restart: unless-stopped
networks:
- docs
onlyoffice:
image: onlyoffice/documentserver
container_name: onlyoffice
restart: always
depends_on:
- nextcloud
networks:
- docs
image-export:
image: jgraph/export-server
container_name: nextcloud-drawio-export
networks:
- docs
volumes:
- ./fonts:/usr/share/fonts/drawio
restart: unless-stopped
drawio:
image: jgraph/drawio
container_name: nextcloud-drawio
networks:
- docs
depends_on:
- image-export
environment:
- VIRTUAL_HOST=drawio.example.com
- VIRTUAL_PORT=8080
- EXPORT_URL=http://image-export:8000/
restart: unless-stopped
If you want to use transmission as your torrent client I recommend checking out https://github.com/haugene/docker-transmission-openvpn . There are some additional configuration changes needed for mullvad but it should be straightforward.