Hi selfhosted! Hope you’re having a good day :)
I’m pretty new to self-hosting and have been traipsing through a minefield attempting to make NextCloud AIO work inside Docker. The instance runs for a few days/weeks and then starts getting extremely slow on the website, then dies entirely. Usually, either the ClamAV or Apache containers get stuck in an unhealthy state that no number of reboots or reinstalls can fix.
Quick context for how this all works. I have one machine that runs Proxmox and a group of VMs for various purposes. One such VM runs my Nextcloud. This VM is running Ubuntu 23.10, Docker, and the NextCloud AIO package.
Another VM hosts OpenMediaVault, which contains a set of SMB Shares mounted to the host VM that act as storage for NextCloud. The symlinks (I think I’m using that word right) on the host VM have user and group permissions updated according to AIO’s documentation. Proxmox is configured to boot this VM first, then boot the rest in sequence once the files are available.
Right now I’ve got Nextcloud handling Synchronization of Files, Calendars, Contacts, and Kanban boards via the Deck Extension. Everything else can be abandoned at this point, these are the only functions I’m truly using. If this gives you an idea for an alternative app I’d love to hear it.
So after AIO broke for about the 5th time in the 8 months since I started trying to self-host it, I’ve been looking at alternatives. Before I go that route, I want to try installing Nextcloud without Docker. Some of the posts I’ve read here suggest that the Docker distribution of NextCloud has serious issues with stability and safely installing updates.
I plan to make a new VM entirely for this, Distro undecided. I still want to run it as a VM and still use my SMB shares for bulk storage.
So where would I begin if I planned to install NextCloud directly to the VM rather than through Docker?
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.
Rules:
Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.
No spam posting.
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.
Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
I was really just using SMB for convenience sake, one less protocol for me to turn on and configure. I initially thought about NFS but when I realized how little I know about actually securing NFS I decided against it. Though, I suppose that’s led me to this point here.
Trying it stock is exactly what I was thinking, though what folks have said about NixOS makes me think that’s going to be the first thing I try.
Very first experience was NC-Pi, right before that project got canned. Loved it so much I spent a couple hundred on shared hosting and set v24 up there, but I’ve been trying to move to my homelab because A) One less bill B) I can use the 72TB RAID Array for storage instead of the 30GB storage I paid way too much for.
Honestly have had great experiences with Portainer so far, with Nextcloud being the only real exception. PiHole, Dashy, an introducer for Syncthing, and StashApp all run without a hitch via Compose files dropped into Portainer. Though I am definitely going to take Docker out of the picture for the next NC install which means taking Portainer out as well.
What’s really neat to do in Portainer is set up your compose stack off a git repo and set the webhook so it fires a pull and restart on the new docker-compose.yml when you update it in git.
I don’t use Portainer much anymore, I do my compose files manually with bind mounts locally to the compose file, and if I want an interface for the docker service, I run Lazydocker on the machine over SSH.