Have a look at open cloud.
Selfhosted
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.
-
No low-effort posts. This is subjective and will largely be determined by the community member reports.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Try nextcloud with docker/podman. Take a backup/copy right before upgrading, upgrade, if it fails remove the upgrade and wait another week/month before upgrading or fix it. In the meanwhile, you can simply use the version that you have not yet updated.
I've had no problem in years
Ive had no problem in years from the FreeBSD pkg. Wonder what is causing so much trouble.
I've run both AIO docker and TrueNAS app deployments, and it's the most house of cards fragile of anything I've ever hosted. I still haven't been able to get the Apache container to talk to my cloudflare tunnel. I'm still looking for better options to self host or the Nextcloud forums to actually be helpful.
Sorry to hear that!
Should you be using nextcloud aio if you use tunnels?
I use https://hub.docker.com/_/nextcloud/#running-this-image-with-docker-compose
It works like a charme.
That was the thing. When I first setup both of them they worked fine with cloudflared. A storage configuration change killed the TrueNAS app but it worked with cloudflared up until the day it died. For the AIO setup, I forget which version (11.x?), but an update broke cloudflared connectivity to the Apache container. I can point the tunnel at the master container and it works, but not the Apache container. Rebuilding it and going through logs and my config never revealed any reason why it broke. Nextcloud forums were basically "get gud" and read this self hosting for morons guide as far as help went. The way their forums have been is what's really turned me sour to the whole project tbh which is a shame. The project really is slick and great when it works.
I'll give that docker stack a go and see what happens. This weekend's project is to move my rig into a new case with a quieter and modern power supply and better cooling.
This is the version I setup just yesterday. Much simpler setup than the AIO. The AIO controls Docker to manage its collection of containers.
As recommended from others here the docker version with a compose file works great.
I had similar problems with nextcloud upgrades until I switched the channel from latest to stable. Stable is still version 31, but I haven't found a user comfortable alternative which I can give my family without hearing their pain. For me *Dav is the best decision and Syncthing for files that should be offline available like keepass or something.
And if you are actually on latest/32 maybe it is an option to switch to a tagged 32 version until it becomes stable.
From my view a major update shouldn't been done automatically.
I've avoided docker for a long time. So when you set this up how do you configure? Can I do it declaratively (text file) or do I have to click around in the app?
And thank you for input. ٩(◕‿◕。)۶
Same as now, you only have to write in docker compose that this local file, next to docker compose should be mounted to that location inside container
Yes you can use docker-compose which spines up all your necessary container connects them with an internal network and most of your stuff has been setup.
Then you but all your configurations in a git repository and you have a all your container under version control.
This is a slightly modified version of mine:
- I use traefik as a reverse proxy
- I mount my syncthing folder to have access on the go to my keepass file
Not in this, but maybe relevant
- Use borgmatic as backup and have script that stops all container with a mount under /opt/backup/docker, does the backup and restarts them.
***
networks:
default:
driver: bridge
traefik_proxy:
external: true
name: traefik_proxy
services:
nextcloud-app:
container_name: nextcloud-app
depends_on:
- nextcloud-db
- nextcloud-redis
environment:
- TZ=Europe/Berlin
- POSTGRES_HOST=nextcloud-db
- POSTGRES_PASSWORD=nextcloud
- POSTGRES_DATABASE=nextPosPw
- POSTGRES_USER=nextcloud
- REDIS_HOST=nextcloud-redis
- REDIS_HOST_PASSWORD=nextRedPw
image: nextcloud:32
labels:
- container-hosts.enable=true
- container-hosts=${NEXTCLOUD_URL}
- traefik.enable=true
- traefik.http.routers.nextcloud.entrypoints=web-secure
- traefik.http.routers.nextcloud.rule=Host(`${NEXTCLOUD_URL}`)
- traefik.http.routers.nextcloud.tls=true
- traefik.http.routers.nextcloud.middlewares=nextcloud-chain@docker
- traefik.http.middlewares.nextcloud-chain.chain.middlewares=nextcloud-redirect@docker,secHeaders@file
- traefik.http.middlewares.nextcloud-redirect.redirectregex.regex=^https://(.*)/.well-known/(card|cal)dav
- traefik.http.middlewares.nextcloud-redirect.redirectregex.replacement=https://$$1/remote.php/dav/
- traefik.http.services.nextcloud.loadbalancer.server.port=80
networks:
- traefik_proxy
- default
restart: always
volumes:
- /opt/backup/docker/nextcloud/html/data:/var/www/html/data
- ./data/config:/var/www/html/config
- /opt/backup/docker/syncthing/data:/syncthing
nextcloud-cron:
container_name: nextcloud-cron
depends_on:
- nextcloud-db
- nextcloud-redis
entrypoint: /cron.sh
environment:
- TZ=Europe/Berlin
image: nextcloud:32
networks:
- default
restart: always
volumes:
- /opt/backup/docker/nextcloud/html/data:/var/www/html/data
- ./data/config:/var/www/html/config
- /opt/backup/docker/syncthing/data:/syncthing
nextcloud-db:
container_name: nextcloud-db
environment:
- TZ=Europe/Berlin
- POSTGRES_USER=nextcloud
- POSTGRES_PASSWORD=nextPosPw
- POSTGRES_DB=nextcloud
image: postgres:17-alpine
networks:
- default
restart: always
volumes:
- /opt/backup/docker/nextcloud/postgresql:/var/lib/postgresql/data
nextcloud-redis:
command: valkey-server --requirepass nextRedPw --save 30 1 --loglevel warning
container_name: nextcloud-redis
environment:
- TZ=Europe/Berlin
image: docker.io/valkey/valkey:8-alpine
networks:
- default
restart: always
volumes:
- redis_data:/data
volumes:
redis_data:
...
PS: I don't want to use any fancy clicky app, because over the last years I had so often problems with updates of these clicky apps and this version is straight forward for all my containers.
Copyparty! https://github.com/9001/copyparty
Insanely powerful, consumes much less resource and is very easy to setup. It does one thing (cloud storage) and it does it well.
How does it work on Android? One of my main use cases for Nextcloud is to be able to access some of my pdfs on my phone, the app seems to be focused on uploading which is something that while I do sometimes from my phone is much less often.
Some Android file managers support WebDAV. I'm using Amaze which unfortunately doesn't, so instead I have DAVx5 and I can use it to browse files on the server.
Alternatively, you can use rclone in Termux to download the server files to the device. I use this to sync music from my server.
For your PDF use case, unfortunately you will need to first download the file before opening it.
Docker compose Nextcloud could allow you to define your standard Nextcloud server in a yml config file that's reusable.
Example near the bottom of this page - https://hub.docker.com/_/nextcloud/
Being lazy and having update-related issues with nextcloud too often for my taste I went back to the basics (as that's all I actually use 99% of the time) with Syncthing for file syncing and Radicale for caldav/carddav.
Yep, this is what I did too.
I found no-one was using the NC interface and just syncing, so stripped right back.
Stable. Lightweight. Mostly no maintenance (just moving to syncthing-fork)
Testing Opencloud docker myself but still having troubles with getting it working with my NAS
I love the fact that (until now at least) they have everything as separate services, so "stock" opencloud only does file synching tasks. Works better for me than Nextcloud the last few years.
You could look into Group-Office. Their community edition is open source and free. Looking a your list, it ticks all the boxes. It is also in active development; the Docker image is updated almost weekly.
ive enjoyed owncloud so far, runs well on my little i3 homelab
I've been pretty happy with Peergos
If you want to join developing an alternative, I'm in.
Seafile?
I'm self hosting seafile and client apps are absolute garbage. Everything else is chef's kiss, as long as I can get away with using the file explorer or cli