Docker + Nextcloud = why is it so difficult?

https://lemmy.world/post/2155176

Docker + Nextcloud = why is it so difficult? - Lemmy.world

TLDR: I consistently fail to set up Nextcloud on Docker. Halp pls? Hi all - please help out a fellow self-hoster, if you have experience with Nextcloud. I have tried several approaches but I fail at various steps. Rather than describe my woes, I hope that I could get a “known good” configuration from the community? What I have: - a homelab server and a NAS, wired to a dedicated switch using priority ports. - the server is running Linux, Docker, and NPM proxy which takes care of domains and SSL certs. What I want: - a docker-compose.yml that sets up Nextcloud without SSL. Just that. - ideally but optionally, the compose file might include Nextcloud office-components and other neat additions that you have found useful. Your comments, ideas, and other input will be much appreciated!!

I remember cursing allot with trying nextcloud to work :D and than my serber crashed. I’m currently reinstalling everything but haven’t had the courage to get going on nextcloud.

Their official image is easy to run, just one container needed: hub.docker.com/_/nextcloud

Limixserver.io images are also good: hub.docker.com/r/linuxserver/nextcloud

Docker

+1 for the linuxserver.io container. It is easier to use than anything else I’ve found.

I all comes down to which webserver you want to use actually

Base official image and linuxserver.Iowa comes with Apache fpm you can choose

With nginx

github.com/nextcloud/docker#base-version---fpm

With caddy

caddy.community/t/…/9407

I oersonaly run fpm with caddy

Remember to create your admin account on first run and then add your trusted domain

Admin

navigate to localhost:8080 create admin acount write down your credestials

allowed domains

docker ps copy container id of nextcloud:fpm docker exec --user www-data container_id php occ config:system:set trusted_domains 2 --value=your_domain_name_here docker stop container_id docker start container_id

GitHub - nextcloud/docker: ⛴ Docker image of Nextcloud

⛴ Docker image of Nextcloud. Contribute to nextcloud/docker development by creating an account on GitHub.

GitHub
I would recommend going with the Docker AIO install, it does a lot of the heavy lifting for you as well as dealing with backups and updates for long term maintenance.
I spun this up just today and had no issues whatsoever. Just a bad aftertase because the AIO package creates and manages other containers on the host, I’d love to have more control over those as well. But for the sake of comfortability I’ll just have to accept that. And it truly works out of the box!
Nextcloud is very easy to setup as a container. You just need a MySQL/Marinade server and a volume mount. Just make sure the volume is owned by www-data user (uid:gid 33:33). That’s it.
is marinade a typo for mariadb or is this some new thing that i missed
I swear I already double checked but Gboard’s autocorrect always managed to mess up something
there’s always ducking something

I put together a repo that you should be able to pull down and get running pretty quickly using docker compose. Check it out and let me know if you have any questions.

github.com/PHLAK/nextcloud-compose

GitHub - PHLAK/nextcloud-compose: A Dockerized Nextcloud environment utilizing docker-compose.

A Dockerized Nextcloud environment utilizing docker-compose. - GitHub - PHLAK/nextcloud-compose: A Dockerized Nextcloud environment utilizing docker-compose.

GitHub
Have you tried their AIO stack? It's really easy to setup, but I haven't gone beyond that because of performance issues on my server
GitHub - nextcloud/all-in-one: 📦 The official Nextcloud installation method. Provides easy deployment and maintenance with most features included in this one Nextcloud instance.

📦 The official Nextcloud installation method. Provides easy deployment and maintenance with most features included in this one Nextcloud instance. - nextcloud/all-in-one

GitHub

As others have commented, Nextcloud provide an all-in-one docker set up. I managed to follow the instructions and get it working.

However, in the end, I wanted this to replace my Dropbox subscription, and my files and reliable access to them are important to me. Given that, and my relatively low skill level, I didn’t want to futz with troubleshooting failed updates and server issues, so I just went with a Hetzner storage share, which is their managed nextcloud subscription: www.hetzner.com/storage/storage-share

Managed nextcloud: cheap cloud storage

Managed nextcloud by Hetzner: safe, cheap cloud storage. ✓ GDPR-compliant ✓ simple and custom ✓ 100 % green electricity

This is a completely valid option and one that more people should consider. You don’t have to selfhosted everything, even if you can. I actually prefer to support existing instances of stuff in a lot of cases.

I use disroot.org for email and cloud, and I’m more than happy to kick them a hundred bucks a year to help support a community. Same with fosstodon.org for Mastodon. I’m fully capable of self-hosting these things, but instead I actively choose to support them instead so that their services can be extended to more than just myself. I chose those two because they send excess funds upstream to FOSS projects. I’m proud to rep those domains.

Disroot | Disroot.org

Disroot is a platform providing online services based on principles of freedom, privacy, federation and decentralization.

I found the AIO to be kind of quirky in the way it’s architected, including having a master container that must be named exactly and I couldn’t find a way to make a bind mount (that part was a deal breaker). Probably up their with LSIO in simplicity, however, and it doesn’t default to sqlite which is nice.

Here’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

I’ve been fighting nextckoud over the last few days. I got it up and running, yay. But the. I could not get Nextcloud office or Onlyoffice to work at all.

I used the AIO docker install and followed all the instructions for setup behind cloudflare tunnels but I’m guessing it’s something to do with that, but I just don’t have the time or patience to spend hours trying to troubleshoot why I can install onlyoffice but it won’t allow me to create documents.

I may revisit in the future but the frustration levels are just too high atm.

Maybe give cloudflared a try. Works for me even with nextcloud’s ssl. Couldn’t get it to work with NPM (I admittedly don’t know much about nginx) so I brought in the big gun(s).