What this is
This site helps you run your own document server: the things you write in, the things you file, the things you sign, and the code you keep. Twenty-four containers, grouped by the job they do.
Most self-hosting guides hand you one enormous compose file and wish you luck. That works right up to the first error message, at which point you have no idea which of the fourteen services is broken or why. This site takes the opposite approach. Every container is a module you can add or leave out, and every module entry tells you what it needs, what it costs you, and what tends to go wrong with it.
This is the second of two sites. The media server is where to start if Docker is new to you; this one picks up after that.
Three things are true of everything here:
- It runs in Docker, on hardware you control.
- Your documents stay on your disk.
- You can leave. Every module in the list has an export path, and the Help page covers how to use it.
New to this? Start next door
If you have not run a container before, do the media server first. It is the same design, the same voice, and the same generator, aimed at an easier problem.
Modular Media Server is the beginner project. Fewer services, one obvious goal, and a Docker introduction written for someone who has never opened a terminal for this. It covers Docker, Compose and Arcane from nothing.
This site is the intermediate one. It assumes you already know what a volume is, and it spends its pages on the harder parts: apps that need two domains, apps that need a mail server, and apps that hand out a root shell if you publish them.
| Media server | Workspace server | |
|---|---|---|
| Level | Beginner | Intermediate |
| Teaches Docker | Yes, from scratch | Assumes it, recaps in the Guide |
| Shape | One stack that does one job | Pick one tool per job, from seven jobs |
| Hardest part | Getting the first container running | Domains, mail, and what must never be published |
They share a generator design, so anything you learned about modules, storage layouts and secrets over there applies here unchanged. Both produce a compose file, a .env and an install script that checks what system you are on before it touches anything.
Who it is for
You will get on with this site if you can open a terminal, edit a text file, and are willing to read an error message rather than delete everything and start again. You do not need to know Docker already. The Guide covers what you need before anything else makes sense.
You will find this frustrating if you want a one-click appliance. Several of these applications need a database, a reverse proxy, and a real domain name before they will work properly, and no amount of friendly writing changes that. Where an app is genuinely hard to run, this site says so instead of pretending.
What this costs. Nothing, if you already own a machine that stays on. If you do not, the cheapest honest answer is usually a second-hand mini PC rather than a VPS, because the storage is where the money goes and rented storage is expensive. Platforms works through that comparison with numbers.
The stack at a glance
Every module does one job, and seven of those jobs have more than one option. Within a job the options are genuine alternatives, so the generator gives you one: picking a second wiki swaps out the first rather than leaving you running two.
These are the seven where you choose.
| Job | Options | Most people want |
|---|---|---|
| PDF tools | Stirling-PDF, BentoPDF | Stirling-PDF, unless you want zero server-side processing |
| Document archive | Paperless-ngx, Docspell | Paperless-ngx |
| Wiki | BookStack, Wiki.js | BookStack |
| Code forge | Forgejo, Gogs | Forgejo |
| Link-based file sending | PsiTransfer, Zipline | PsiTransfer, unless you want ShareX support |
| Full workspace | AppFlowy, Huly | Neither, unless you have the RAM for it |
| Dashboard | Homarr, Dashy | Either. Pick by whether you want YAML or a GUI |
The rest have no alternative to choose between, so they simply coexist: PdfDing for reading, Obsidian for notes, Kiwix for offline reference, PairDrop for sending files across the room, Chibisafe for a gallery, CryptPad for encrypted editing, Calligra for office documents, Wekan for boards, OpenSign for signatures, Jitsi Meet for calls, and Arcane for managing Docker itself. You can run all of them alongside one pick from each row above.
AppFlowy and Huly are much larger than everything else here, which is why the Hardware page gives them their own warning.
Where to start
- Read the Guide. Volumes, networks and reverse proxies. Twenty minutes, and everything afterwards assumes it.
- Pick a box. Platforms covers NAS, mini PC, VPS and Raspberry Pi, and what each can actually carry.
- Build a compose file. The Generator resolves dependencies, generates secrets in your browser, and writes the files for you.
- Set the apps up. App setup has the first-run steps and the specific place each app trips people up.
- Decide how you reach it. Access covers proxies, VPNs and tunnels, and lists the containers that should never be published to the internet.