I am fairly new in the selfhosting business. I host a few services like Jellyfin or AdGuard, but most of my data just sits on plain SMB shares on my NAS.
I am interested in setting up things like Paperless-ngx, Nextcloud maybe Immich as well. One thing I am struggling with is how to organize all this so I don’t have the data scattered around multiple places or in the worst-case even duplicated. I like the simplicity of network shares and the fact that I am not relying on a third-party application to keep being maintained. I am currently not sure I am willing to give that up. However, I am also intrigued by the features these services provide. I know Nextcloud has the option to mount external storage, but I don’t know which downsides come with that. It gets more complicated with Paperless. As far as I know you typically have a consume directory where you throw in your data and Paperless stores it using its own system in the media directory. This means I either throw in everything or I suddenly have two locations where my documents are stored. If I would mount that media directory in things like Nextcloud I probably wouldn’t be able to find anything because of the different structure and naming scheme.
The idea that I had in mind is that I have a single directory structure of my data that can be used on its own and all these tools are just different frontends and provide different views and information of the same data. Maybe this approach is just something from the past and I should move on.
I should add that I am not planning to expose any of these services to the public. All of this is only accessed from inside my house or using a Wireguard VPN.
- How do you guys handle all this?
- How do you avoid data duplication?
- How do you avoid multiple potential file locations? Is a document in my Nextcloud, in my Paperless or just on the network share?
- Do you prepare in some ways in case an application stops being maintained?
- How has this reliance on multiple services impacted other things e.g. your backups?


As I have said in the other comment: I already use Docker and docker-compose for all the services I host. They are also all configured to use bind mounts instead of volume mounts, so that I am in control where everything is located. I heard about Proxmox, but I never really looked into it because never saw the need for something different than a docker container. I also don’t have a dedicated server. All my services are running as Docker containers directly on the NAS.
I am not a fan of data duplication, disk space aside. You are pretty much guaranteed to have diverging file structures sooner or later. I don’t want to look up a file on three different applications just to find the newest version of it. I know you can use rsync and a cron job, but that just adds more complexity to a problem that I don’t want to have in the first place. This might work for something like a read-only backup like i presume you do with Paperless and OpenCloud, but I am not sure how this handles a case where, at least in theory, your files can be changed, renamed etc. in multiple different locations.
How do you handle your Paperless documents? Do you have a local file structure that you manage on your own for these documents or do you shove them all into Paperless and process them entirely in there (naming, tagging, etc.)?
I get your idea of trying things out even though it might result in temporary data duplication to find the way that works best for me. I am just curious how other peoples workflow looks like. Maybe I can also learn from the mistakes other people made in the past :)
Paperless specifically: yes, shoving everything in it.
But I have honestly no idea what kind of data you have that are suitable for paperless AND have different versions.
I just checked mine, for me it’s… Zero. Not a single item, by definition, is in Paperless that can receive an update.
If it’s updatable personally I have everything version controlled - and I mean EVERYTHING, from CV over tutorials to construction ideas - hosted locally on forgejo.