>
Business Tech

Move your team wiki off Notion, onto a Synology you own

I have watched too many teams pay monthly subscription fees for tools that lock their documentation behind someone else’s servers. Notion is the canonical example: a polished, fast editor that is great until you need to export the whole workspace, audit who has read what, or stop paying $10 per user per month. Outline (an open-source, self-hostable wiki with the same real-time editing feel as Notion) is the answer I keep coming back to when a team wants Notion’s ergonomics without Notion’s lock-in. The install on a Synology NAS (a Network Attached Storage device, basically a small always-on computer that holds your files and runs apps 24/7) takes about an hour if you know what you are doing and a Saturday afternoon if you do not. Here is what I learned doing it three times.

Why bother

Notion works. I am not arguing that it does not. The Markdown editor (a plain-text formatting syntax that most developer tools understand natively) is fast, the database views are genuinely useful, and the team collaboration is real. The thing I cannot get past is the export story. You can export a Notion workspace as a zip of HTML and CSV files, but you lose the database structure, the relations between pages, the comments, and most of the metadata. A team that has been on Notion for two years has, in practice, built a system that can only run on Notion’s infrastructure.

Outline runs as a single Docker container (a packaged application that runs identically on any Linux host with Docker installed) backed by Postgres (a popular open-source relational database), with all the structure stored in your own database. You can back it up with pg_dump (a command-line tool that exports a Postgres database to a single file), migrate it to a different server, or audit the access logs. For a small team that has outgrown Google Docs but does not want to trust its documentation to a vendor that could change pricing on Tuesday, that is the entire pitch.

The Synology angle matters because most small teams already have one. A DS923+ or DS1522+ is a low-power x86 box that runs 24/7, has redundant storage, and comes with a sane web interface. It is exactly the right hardware for a wiki that you want to always be on but never think about.

What you need

The install is not a single click, but the moving parts are small. You need:

  • A Synology NAS running DSM 7.2 or newer. DSM (DiskStation Manager) is Synology’s Linux-based operating system that runs on every modern NAS they sell. The Container Manager package (Synology’s name for Docker) is what we will use to run Outline.
  • A static IP or a hostname. Outline will bind to a port on the NAS, and you will need a stable address to point a browser at. A router DHCP reservation (a setting on your router that always gives the same IP to the same device) is fine for testing; a real domain name with DNS (the system that turns human-readable hostnames into IP addresses) is what you want for production.
  • A reverse proxy. This is the piece that turns http://nas.local:3000 into https://wiki.yourdomain.com with a valid TLS certificate. Synology’s built-in reverse proxy works, or you can use a Caddy container (a small web server that automatically obtains and renews TLS certificates from Let’s Encrypt, a free certificate authority).
  • Postgres. Outline stores everything in Postgres, and the standard install is to run it as a separate container. SQLite is supported for tiny single-user installs but the multi-user editor is noticeably snappier on Postgres.
  • A Slack or Google workspace OAuth app, or local email. Outline uses an external identity provider for login. Slack OAuth (a protocol that lets you log into a third-party app using your existing Slack account) is the easiest for small teams that already live in Slack. For a personal wiki, SMTP (Simple Mail Transfer Protocol, the standard for sending email) credentials for your own mail server work fine.

The install

The outlinewiki/outline Docker image is well-maintained and the env variables (environment variables, configuration values passed into the container at startup) are documented. The minimum config for a fresh install is about a dozen variables. The non-obvious ones:

  • DATABASE_URL is the Postgres connection string. The format is postgres://user:password@host:5432/outline. If you are running Postgres in a separate container, the host is the container name on the Docker network (a virtual network that lets containers find each other by name).
  • SECRET_KEY is a random 64-character string used to sign session cookies (the small pieces of data that keep you logged in across page loads). Generate it with openssl rand -hex 32 (a command that produces 32 random bytes encoded as 64 hex characters) and store it in a password manager. If you ever rotate it, every user gets logged out.
  • SLACK_KEY and SLACK_SECRET come from the Slack app you create at api.slack.com. The app needs the identity.basic and identity.email scopes (permissions that tell Slack what your app is allowed to do on behalf of the user). The OAuth callback URL is https://wiki.yourdomain.com/auth/slack.callback.
  • URL is the public URL where users will reach Outline. Set this correctly the first time. Changing it later requires a database migration to update every internal link.

The container manager in DSM can pull the image from Docker Hub (a public registry of prebuilt container images) and start the container with a port mapping (3000 on the host to 3000 in the container). I run Postgres in a separate container and link them with a Synology-defined bridge network (a virtual network that lets containers communicate with each other but not with the rest of your home network). The volumes (persistent storage that survives container restarts) are the standard Synology path: /volume1/docker/outline/data for any uploaded files, and a separate volume for the Postgres data directory.

Once the container is running, the first visit to the URL takes you through a Slack login, creates the admin account, and drops you into an empty workspace. The first thing I do is create a Welcome collection (Outline’s word for a top-level folder) and a one-page orientation doc that explains where the wiki lives, who has access, and how to ask for more. Without that, new users do not know the wiki exists.

What I gave up

Outline is good, but it is not Notion. The things I miss most:

  • Database views. Notion’s ability to turn a page into a structured row in a database, with multiple views (table, board, calendar, gallery), is the single most useful feature I have seen in a documentation tool in the last five years. Outline does not have it. There is a roadmap item, but as of early 2026 it is not shipped. For structured data, you still need Airtable or a real database.
  • Real-time presence indicators. Notion shows you the avatars of the other people currently viewing the same page. Outline does not. The conflict resolution on simultaneous edits is good, but you do not get the “oh, Kim is reading this right now” cue.
  • The mobile app. Notion has a real iOS and Android app. Outline is a web app that mostly works in a phone browser but does not feel like a native app. The team has talked about a mobile app for years.

The migration off Notion is also a real cost. I spent about 40 hours over a weekend moving a 600-page workspace, mostly because the Notion export loses the database relations and the nested page hierarchies come out flat. For a smaller workspace (under 100 pages) the migration is a Saturday. For anything larger, budget a week.

Trade-offs

Outline on a Synology is not free in time. The first install took me about four hours, mostly because I had to learn the reverse proxy settings and the OAuth flow. Maintenance is maybe 30 minutes a quarter for container updates, which I do through Container Manager’s “update all” button and a 60-second downtime window. The Synology does its own backups to a USB drive via Hyper Backup (Synology’s built-in backup tool that can write to external drives, remote NASes, and cloud storage), so the wiki is covered in the same backup that covers everything else on the box.

In our case, the math was easy. We were paying $120 per month for Notion across 12 users. The Synology was already running for file storage. The wiki added maybe 8GB of disk usage and no measurable CPU load. The break-even was about two months.

Your math will be different if you do not already own a Synology, or if your team is small enough that the $10 per user per month is not a real cost. The break-even for one user is roughly four years, which is too long to justify on cost alone. The break-even for ten users is five months, which is the sweet spot for a small consulting firm or a startup that has just hit 8 people and is starting to think about process.

If you are already running Synology, this is a clear win. If you are not, the question is whether the self-hosting overhead is worth it compared to paying Notion $10 per user per month. For most teams of 3-15 people, the answer is yes. For larger teams, the answer is “evaluate Confluence Self-Hosted, which is a real product with paid support,” and for solo users, the answer is “use a plain Markdown folder in Obsidian and stop reading.”

Bottom line

If you already have a Synology and your team is paying for Notion, you can self-host Outline on the NAS in an afternoon and start migrating pages. The install is not trivial, but every step has a clear answer, and the wiki is going to feel close enough to Notion that most users will not notice the difference. The real cost is the migration, not the install. Budget a weekend for the first 200 pages and a Tuesday per 100 pages after that.

Leave a comment