this post was submitted on 25 Apr 2025
44 points (90.7% liked)

Selfhosted

46265 readers
302 users here now

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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. 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.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I tried Nextcloud a while back and was not impressed - I had issues withe the speed of the Windows sync that were determined to be "normal" with no roadmap to getting fixed. I'm now planning to move off Windows desktop so that won't be an issue - so I thought I'd try again.

I went to nextcloud.com, clicked on Download-> Nextcloud server -> All-in-one -> Docker image - Setup AIO. This took me to the github README at Docker section. I'm already running docker for other things so I read the instructions, setup a new filesystem for my data directory and ran the suggested docker command with an appropriate "--env NEXTCLOUD_DATADIR=". I'm then left with a terminal running docker in the foreground - not a great way to run a background server but ok, I've been around for a while and can figure out how to make it autostart in the background ongoing. So I move on to the next step - open my browser at the appropriate URL and I'm presented with a simple page asking me to "Log in using your Nextcloud AIO passphrase:". I don't have a Nextcloud AIO passphrase and nothing I've read so far has mentioned it. When I search for it I get some results on how to reset it, but not much help. I could probably figure that out too, but after reading some more I found that Nextcloud requires a public hostname and can't work with a local name or IP address. I'm already running my home LAN with OpenVPN and access it from anywhere as "local" - I don't really want to create a new path into my home network just for Nextcloud.

I'm sorry - I know this sounds like a disgruntled rant and I guess it is. I just want to check that I'm not missing obvious things before I give up again. All I want is a simple file sync setup like onedrive but without the microsoft.

top 48 comments
sorted by: hot top controversial new old
[–] haverholm@kbin.earth 6 points 47 minutes ago (1 children)

Agreed, Nextcloud has gone from a lean little personal cloud to a hulking enterprise hub.

If you're after something that'll just sync your files between devices, try Syncthing. If you need files available online, maybe something like filestash or, like somebody else suggested, SFTPgo.

There are also tiny, lean calendar and contact server apps out there if you decide you need those. After self hosting NC for years I'm really happy spreading out the tasks over dedicated services rather than having all my eggs in one basket.

[–] paperd@lemmy.zip 1 points 9 minutes ago

the base install is still pretty lean, its only hulking if you enable all their new junk, but if you don't enable all that, the default, at least when installed it was quite lean.

[–] grumuk@lemmy.ml 4 points 45 minutes ago

Honestly I hate all these file sharing self hosting things. Looking at you nextcloud owncloud syncthing seafile etc. They all suck. All I want is NFS support in android, that's my only pain point accessing my files from anywhere from my home network. I can already VPN/wireguard into my network from anywhere, but I can't grab an ebook or mp3s off my NFS server from my phone or tablet, I have to have some other dumb infrastructure for it. Just (#@$^* put NFS in android already!!!

/endrant

[–] paperd@lemmy.zip 1 points 8 minutes ago

If you want to self host your contacts and calendars and have multiple users, I still don't think there is anything better. I hope Open Cloud gets there eventually, but right now its only the beginning.

[–] Shady_Shiroe@lemmy.world 2 points 54 minutes ago (1 children)

Yeah setting it up the way you want is a pain, but I like it mainly for backing up photos from my phone automatically, as well as, syncing podcasts and music between devices since I moved away from Spotify and start using things like AntennaPod and Gramophone

I got 20TB in my server, might as well use it.

[–] Shady_Shiroe@lemmy.world 1 points 44 minutes ago

Oh wait, were you looking for alternatives? I guess this also works: https://filebrowser.org/

Its just web veiw to file server instead of only using things like smb or nfs

[–] Father_Redbeard@lemmy.ml 3 points 1 hour ago

Seafile. It's super fast and lightweight. There are some caveats though:

  • Data is stored in git-like chunks on the server side. There is Seafuse and Sea drive functions that you can leverage to "assemble" the data on server side for backups. I personally use rclone mount, then backup.

  • Paywall hiding some features. The community edition is free but is missing some features that pro has. Pro edition is free for 3 or less users.

  • Documentation isn't great. The forum is active so that's helpful, but some of the docs take some time to understand

  • Chinese owned. As far as I can tell, there is no call home for a self hosted server, so I don't think it's a worry in that case.

All that said, I like it much better than Syncthing for it's selective sync. All files on each client are synced to the server. But unlike Syncthing, it doesn't sync all data with each client. This is vital for me with some devices with small storage drives, so I would t want all files to sync. Yet I can still reach to the server from any client and pull data from any other client. Syncthing has an ignore flag, but that seemed way more trouble to setup than just sticking with Seafile.

[–] jeena@piefed.jeena.net 12 points 2 hours ago

Nextcloud it just too heavy I totally agree, and everything feels slow and sluggish.

For just files I use Syncthing and couldn't be happier, it just works in the background without a central server just syncs the files between phones, PCs and laptops by itself. I set it up like 5 years ago when I had enough of Nextcloud and to be honest most of the time I forget that I have it, but I use it every day to sync my password database for KeePassXC, my music, my private and work documents between all my devices.

[–] cecilkorik@lemmy.ca 7 points 2 hours ago (1 children)

Nextcloud file sync is a convenient centralized solution but it's not designed for performance. Nothing about Nextcloud is designed for performance. It's an "everything and the kitchen sink" multi-user cloud solution. That is nice for a lot of reasons. Nextcloud Sync is essentially a drop-in replacement for Google Drive or OneDrive or Dropbox that multiple people can use and that's awesome. It works the same way as those tools, which is a blessing and a curse.

Nextcloud is for the same role you SAY you want, "All I want is a simple file sync setup like onedrive but without the microsoft." That's what it is. But I don't think it's what you're actually asking for, and it's not supposed to be. It has its role, and it's good at that role. But I don't think you actually want what you say you want, because in the details you're describing something totally different.

If you want performance sync for just files, SyncThing is made for this. It has better conflict resolution. It has better decentralized connectivity, it doesn't need the public IP server. It uses a very different approach to configuration. Its configuration is front-loaded, it takes a fair bit of work to get things talking to each other. It's not suitable for the same things Nextcloud Sync is. But once you have it set up it's rock solid reliable and blazing fast.

Personally I use both SyncThing and NextCloud Sync. I use them for different purposes, in different situations. NextCloud Sync takes care of my Windows documents and pictures, I use it to share photos with my family. I use it to sync one of the factors for my password vault. It works fine for this.

I also use SyncThing for large data sets that require higher performance. I have almost 400 GB of shared program data, (and game data/saved games), some of which I sync with SyncThing to multiple workstations in different parts of the country. It can deal with complex simultaneous usage that sometimes causes conflicts. It supports fine tuning sync strategies and files to ignore using configuration dotfiles. It's a great tool. I couldn't live without it. But I use both. They both have their place.

[–] Jason2357@lemmy.ca 4 points 2 hours ago* (last edited 2 hours ago)

I use both as well. They server different purposes. When my wife wants to take a quick scan of a paper document and archive it instantly, or have pictures auto-upload, or open and edit a document we worked on a year ago, all on her IPhone, the Nextcloud client works great and really has no competition in the iOS world. When I want to keep the files in my home directory, including some big, regularly changing files, instantly synced between computers and hosted VMs, Syncthing is amazing. I also add Syncthing shares as an external source in Nextcloud, so I can open those files via the web. As others have said, Nextcloud works fine, provided you don't start installing all sorts of "apps" you don't need -stick to the basics.

[–] railcar@midwest.social 4 points 2 hours ago (1 children)

I just use SMB shares on my NAS. Why over think it?

[–] lorentz@feddit.it 1 points 51 minutes ago

I agree, but having a webui is nicer on android, so I installed https://www.filestash.app/ configured to use samba as backend so permissions and passwords are the same

[–] oranki@sopuli.xyz 10 points 3 hours ago (2 children)

My biased opinion is that most people run Nextcloud on an underpowered platform, and/or they install and enable every possible addon. Many also skip some important configurations.

If you run NC on a bit more powerful machine, like a used USFF PC, with a good link to it, the experience is better than e.g. OneDrive.

Another thing is, people say "Nextcloud does too much", but a default installation really doesn't do much more than files. If you add every imaginable app, sure it slows down and gets buggy. Disable everything you don't need, and the experience gets much better. You can disable even the built-in Photos app if you don't need it.

Not saying NC is a speed daemon, but it really is OK. The desktop and mobile clients don't get enough love, that's true.

I'm talking about the "bare metal" installation or the community Apache/FPM container images. AIO seems to be a hot mess, and does just about everything a container shouldn't be doing, but that's just my opinion.

[–] atzanteol@sh.itjust.works 4 points 2 hours ago (1 children)

Many "self hosters" simply aren't comfortable with the basics and expect things to be just an app you install. A simple two-tier app/db architecture is too complex for them (hence the prevalence of sqllite these days).

I've run nextcloud for many years and was simply surprised to hear that it's "difficult to manage and slow". My experience has been quite the contrary - it's been easy to keep up to date and has never failed an upgrade or lost data. And it performs "well enough" since I don't use low-cost hardware for servers.

My only complaint is that I need to run occ from a terminal rather than having a web interface for it. Makes running it in a k8s pod kinda annoying.

[–] tripflag@lemmy.world 2 points 2 hours ago

one of the main reasons SQLite is gaining in popularity is because people are realizing it has higher performance than separate databases in many usecases. Keeping the communication in-process cuts a lot of overhead (network, memcpys). The fact that you also don't have to go through the trouble of configuring a separate service is just a bonus :-)

[–] Jason2357@lemmy.ca 1 points 2 hours ago

Your opinion is a hard-learned lesson here. I only recently figured that out. The Nextcloud "app store" is just too tempting.

[–] enemenemu@lemm.ee 19 points 5 hours ago (2 children)

Use docker or podman compose https://hub.docker.com/_/nextcloud/

Nextcloud does not need a domain. Ip is fine.

[–] Infernal_pizza@lemm.ee 1 points 1 hour ago (1 children)

Does it need to be an external IP? I was going to look into setting it up soon but if that's the case I think I'll just stick with SMB shares or maybe try syncthing

[–] enemenemu@lemm.ee 2 points 55 minutes ago* (last edited 55 minutes ago) (1 children)

No

No internal domain could connect to anything if it wasn't resolved for an ip.

Local IPv4 work. Global ipv4 work. Ipv6 works. Mesh vpn ips work. Any ip works.

You may have to adjust the config.php (iirc) to add the ip/domain to trusted domains

[–] Infernal_pizza@lemm.ee 1 points 29 minutes ago

Thanks, in that case I'll look into it at some point!

[–] GreatBlueHeron@lemmy.ca 1 points 4 hours ago (1 children)

Use docker or podman compose https://hub.docker.com/_/nextcloud/

I could do that - I guess I was just pointing out that someone coming to Nextcloud and following the install instructions does not have a great experience.

Nextcloud does not need a domain. Ip is fine.

So, their documentation is wrong?

https://github.com/nextcloud/all-in-one?tab=readme-ov-file#can-i-use-an-ip-address-for-nextcloud-instead-of-a-domain

Again - not a great experience for a first time user.

[–] enemenemu@lemm.ee 10 points 3 hours ago

Nextcloud wants you to buy their stuff.

If you want to selfhost you have to read "everything" and know what you do.

I have no idea about that all in one setup. But yes, the sentence "nextcloud can not be reached via IP" is wrong

[–] troed@fedia.io 9 points 4 hours ago

I went from Seafile to Nextcloud with family file sharing as the primary usage. I'm using the AIO docker installation without issues.

This might not help, but I never experienced the issues you had.

(I moved away from Seafile due to - in my opinion - it dying a slow death with less and less support)

[–] just_another_person@lemmy.world 14 points 5 hours ago* (last edited 4 hours ago) (1 children)

There's a lot of stuff going on here, so let me break down your post for each issue:

  1. You need to understand the difference between a docker run command, and detaching to run a container in the background. Just running it with 'run' keeps it in the foreground.

  2. For the passphrase issue: https://github.com/nextcloud/all-in-one/discussions/1786

  3. Lastly, if you're not familiar with containers, and this is a single purpose machine, you'd be better off just running the bare project on the host. If there's no need for containerization, just skip it.

[–] GreatBlueHeron@lemmy.ca 4 points 3 hours ago (1 children)

You need to understand the difference between a docker run command, and detaching to run a container in the background. Just running it with ‘run’ keeps it in the foreground.

Yes, I understand this. I was just highlighting that it's not a great experience for a new user to follow the instructions to setup a server and be left with it running in the foreground.

For the passphrase issue: https://github.com/nextcloud/all-in-one/discussions/1786

Thanks! This should get me past my current hurdle so I can do some more testing. Again - not a great experience to have to come to a forum to get help to find a passphrase. I'm pretty sure I didn't miss any steps?

Lastly, if you’re not familiar with containers, and this is a single purpose machine, you’d be better off just running the bare project on the host. If there’s no need for containerization, just skip it.

I'm familiar with containers, but think they're overused. Stupid little things that are a single Python script (for example) shipping as a Docker image! But, I thought Nextcloud was complex enough to be worthy of a container? This is not a single purpose machine, but I'm an old, retired, sysadmin - I have no problem running a few different servers on the same host.

Are you referring to the "Archive" Community Project installation method?

[–] just_another_person@lemmy.world 3 points 2 hours ago

No, just clone the project and run it without a container. The docs cover that as well.

[–] rtxn@lemmy.world 11 points 5 hours ago* (last edited 5 hours ago) (2 children)

I've never used the AIO image. I've heard it's weird. This is my compose file for the community image:

compose.yaml

volumes:
  db:

services:
  db:
    image: mariadb:10.6
    restart: always
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    volumes:
      - db:/var/lib/mysql
    secrets:
      - mysql_root_password
      - mysql_nextcloud_password
    environment:
      - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql_root_password
      - MYSQL_PASSWORD_FILE=/run/secrets/mysql_nextcloud_password
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  nextcloud:
    image: nextcloud
    restart: always
    ports:
      - 8080:80
    depends_on:
      - db
    links:
      - db
    volumes:
      - /var/www/html:/var/www/html
      - /srv/data:/srv/data
    secrets:
      - mysql_nextcloud_password
    environment:
      - MYSQL_PASSWORD_FILE=/run/secrets/mysql_nextcloud_password
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db

secrets:
  mysql_root_password:
    file: ./secrets/mysql_root_password.txt
  mysql_nextcloud_password:
    file: ./secrets/mysql_nextcloud_password.txt

You can access it on port 8080 and perform the initial setup manually. For the database server address, use the db hostname. You'll have to use a reverse proxy for HTTPS.

You could also try OpenCloud, which is a Go rewrite of ownCloud.

[–] JASN_DE@feddit.org 6 points 4 hours ago (1 children)

You could also try OpenCloud, which is a Go rewrite of ownCloud.

A fork of the internal Owncloud Go rewrite.

Yup:

  • ownCloud -> NextCloud
  • ownCloud Infinite Scale -> OpenCloud

I'm testing out OCIS, and will probably switch to OpenCloud.

[–] GreatBlueHeron@lemmy.ca 1 points 3 hours ago

I’ve never used the AIO image. I’ve heard it’s weird.

It does seem to be. So, I find it weird that the "core" documentation leads a new user to installing AIO.

You could also try OpenCloud, which is a Go rewrite of ownCloud.

Sounds interesting - thanks.

[–] Ferawyn@lemmy.world 0 points 1 hour ago* (last edited 1 hour ago)

I would suggest looking at Syncthing. It's not perfect by any stretch, but it works peer to peer, without any kind of central host, ip or domain name requirements. You simply install it on the client machines, and they work out how to talk to each other over any available networks.

Beware changing the casing on your files or directories though, Syncthing was made entirely case sensitive, which does not play nice with Windows.

One very nice feature is that it does have an android client (https://f-droid.org/en/packages/com.github.catfriend1.syncthingandroid/), and it supports full background syncing to your local storage on the phone. Great for syncing your photos, but also music. You add some mp3's on your desktop computer, and by the time you've put on your jacket they're on your phone ready to listen to without any 'service' getting in your way.

A more advanced tip; Get a VPS somewhere in the cloud with cheap storage, and have Syncthing on it listening on port 443. That will allow syncing in more restrictive corporate settings, which often don't allow connections to port 22000. And it gives you a 'cloud backup' of your important files in one go.

[–] Onomatopoeia@lemmy.cafe 0 points 1 hour ago* (last edited 1 hour ago)

For just files I'd use Syncthing or Resilio (I keep hundreds of gigs synced with ST). Resilio has a feature that's very useful - Selective Sync. This allows you to setup a sync job that syncs the index of files, but doesn't sync the actual files until you select a file(s) to sync on the remote device. I use this to access my media files from anywhere (3TB) which I obviously don't want to try to sync the entire folder to my phone, etc.

But since you effectively are on the same LAN, you can use any file copy tool the respective OS's support.

Though for WAN connections, I prefer tools with some redundancy/resilience, since those connections can be slow or experience drops, and regular copy tools aren't designed to contend with that (in Windows the only tool I can think of off hand is Robocopy, but I think Teracopy will at least show you if a file copy fails).

It really depends on your use-case, what you're trying to solve for.

[–] JASN_DE@feddit.org 9 points 5 hours ago (1 children)

AIO

Yeah, that one is basically a take-it-or-leave-it approach. It's a lot easier to customize when running your own Docker stack. It grew over the years and the team tries to sell it as an all-in-one SharePoint replacement (which it can be), but that also means it turned into an even more convoluted system.

I was looking into alternatives earlier this year, maybe one of them could be a solution for you:

  • Owncloud infinite scale
  • opencloud.eu (fork of ocis)
  • syncthing (very good, depending on what exactly you're looking for)
  • Pydio Cells

There are others, or servers like WebDAV itself.

Some notes:

  • syncthing - a little complex, and the file format isn't flat files, but they have a FUSE driver you can use if you want "flat" files; it's wicked fast at syncing data
  • OCIS/OpenCloud - default file format isn't flat, but there is an experimental POSIX driver to get that flat file layout, in case you prefer that for backups
  • Pydio - don't know much about it, but it seems designed for large, clustered deployments

I'm playing with OCIS/OpenCloud and it seems like a good fit. I'm mostly holding off until I can figure out which to use (leaning toward OpenCloud).

[–] nitrolife@rekabu.ru 4 points 4 hours ago* (last edited 3 hours ago)

I think you Just need nginx with one module: https://nginx.org/en/docs/http/ngx_http_dav_module.html That is filestorage only. WebDAV client exists for all platforms.

UPD: if you need web client you can use something like https://github.com/mgoltzsche/file-service/

[–] 3aqn5k6ryk@lemmy.world 4 points 4 hours ago* (last edited 4 hours ago)

If you only need onedrive replacement. You might want to try seafile.

I like nextcloud tbh even it tries to do everything and not being really good at it. When i set it up the first time. I scoured the internet like you wouldnt believe. Took me couple of days optimizing it.

Now, it runs okay. Has been a few months since it set it up. No complain except a couple of weeks ago android app wont auto upload for some reason, had to logout and login back.

My main use is cloud storage, photos, note, task, contacts and calendar. Works fine on my android, linux and my wife's iphone.

[–] HelloRoot@lemy.lol 4 points 4 hours ago

I also had bad luck with nextcloud, so recently I've set up SFTPgo and it works rather well and it's only for files. You can either download and upload the files through the WebUI or you can mount them over the network to your OS.

https://github.com/drakkan/sftpgo

[–] non_burglar@lemmy.world 5 points 5 hours ago (1 children)

There are a number of ways to install nextcloud, and docker is only one of those.

Yes, NC isn't ideal in many ways, but it shouldn't be as painful as you're describing to run it.

Docker is at least two of those, AIO vs non-AIO image.

[–] phanto@lemmy.ca 2 points 3 hours ago

I didn't know anything about docker when I set up my NC years ago, so I ran it as a snap on bare metal. Man, it's gotten so much better! It used to really suck. Like, simple file transfers just didn't work half the time, so I'd be retrying the same thing over and over... A few years ago, I literally migrated it from bare metal to a VM, but kept the exact same install. I have so much crap on it now, I think I'll never bother switching it out to docker, just because of the inconvenience. I know the snap version can just run using a local hostname, you just have to set it in trusted domains setting. Might be the same in the docker image?

[–] HybridSarcasm@lemmy.world 5 points 5 hours ago* (last edited 5 hours ago) (1 children)

So, use something else, like Seafile.

[–] GreatBlueHeron@lemmy.ca 1 points 3 hours ago (1 children)

So, use something else

That's why I'm here - looking for suggestions

like Seafile.

I'll have another look - you're not the only person to suggest it. My recollection is that it seemed to be old and not really maintained.

[–] Voroxpete@sh.itjust.works 1 points 1 hour ago

I've been running Seafile for over ten years. They released version 12.0 just last month. I'm really not sure why people have this impression that it's not maintained.

Seafile updates slowly because it's very much intended as an enterprise product. It has minimal bells and whistles, but the core functionality is reliable and works well. It's more of a BlackBerry than an iPhone.

In the side by side tests I've seen it syncs a lot faster than Nextcloud. I keep my entire documents, downloads and picture folders synced there across three different machines, nearly 300GB of data in total, and I can wipe my laptop and sync all my files back in under and hour. File transfers basically cap out at network speed, even with large numbers of small files. I've used the desktop client, the drive client and the mobile client and never had any complaints with any of them.

Sidenote, if you create an account on their site they'll give you a pro license for up to three users, free forever.

The documentation is a bit of a beast, but worth reading thoroughly. Setup is a little fiddly compared to Nextcloud (that's a major turn off for a lot of people, understandably so). If you have questions message me and I'll try to help. If you go with the free pro license, be sure to enable offline garbage collection, it'll help keep your storage use under control.

Anyway, I really like it, works well for me. Definitely worth trying out.

[–] observantTrapezium@lemmy.ca 2 points 4 hours ago

For files I just use WebDAV that's built in to Apache. It's really not fancy, but does all I need.

[–] suzune@ani.social 3 points 4 hours ago (1 children)

I agree. Nextcloud is not so great. It does too many things. It's still OK to use it, because it replaces file sharing in the cloud and you can have your own addressbook or contacts without sacrificing privacy in the Google cloud.

Nothing special. It just runs and updates well. It also tells you what you forgot to do.

I thought about using a dedicated addressbook, calendar and file sharing, but I'd need to have some time and at the moment it's just running without headaches.

[–] HelloRoot@lemy.lol 2 points 4 hours ago

If you ever need an alternative take a look at https://github.com/drakkan/sftpgo

[–] perishthethought@lemm.ee 1 points 3 hours ago
[–] sk@utsukta.org 1 points 5 hours ago

Nextcloud AIO has an option to skip domain check. the github README hasinstructions. And i love nextcloud because it integrates many features in one, file sharing, office collaboration, chat, rss reader, mailbox, photos, calendar, address-book, etc.

I have two instances running, one public and one completely local. And having a domain is just convenient but not necessary.