---
title: "Deploy Joplin Server"
description: "Self-hosted sync server for Joplin notes on Postgres, admin set at deploy"
category: "Storage"
url: https://railway.com/deploy/joplin-server-1
---

# Deploy Joplin Server

Self-hosted sync server for Joplin notes on Postgres, admin set at deploy

**[Deploy Joplin Server on Railway](https://railway.com/template/joplin-server-1)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/joplin-server-1/manifest.json

- **Creator:** Agaz Self-Host
- **Category:** Storage
- **Total deploys:** 1

## Template content

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18.6@sha256:4fc833b43d2aaf6ecc9b18615f5533602b723a32d0e2efe2dae8ca0f7217c863

### Joplin Server https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/joplin.svg

- **Image:** joplin/server:3.7.4@sha256:d5e57f8c999743a9fd4a2145503b9d43afe4862a5fcf0c0809170198ad58cbb5
- **Start command:** `/bin/sh -c 'echo H4sIAAAAAAACA3VVf2/aSBD9n08xtxcliw4MJKpaEXF3lPgKFQEEVHdSFKGtPcGbml13d6mDUr77zdqG/GgrJMA7s/PezLwZW3TQxFoUQyvRG2zd6yyVqpWJ6ItYo21ZNN/Q1PAh08bB1fvVYDwKJ8tetj6c9Wez1Ww6X/bOzy/a7RpGiQZ2Y4RMc7G7BbNVSqo1xMKJz8IibOTaCCe1sqymdIwQS+taIsuCe1sZEVL6sq60NxHOahH5O3iEQSpROdhDDwx+3UqDnGVrVr+sPHBDwGTkmdERWhug+hZ8nM7Go8mqf3VN3+F1fzSG79+BsXrgjNxw+tFjnaMZED9OoeQd8N+KSHWC9IF1ikGq1/xZYj8JKi3hZ27XABFvpALrxM6W//9OdSTSRFtHXOFI7kE63qaDfUU/IuoK8ypNXoArjHy5FsRVrbvwPLHZdLH8MA8Xq8F0MgkHy9F0slos56PJB9hTHlzYnYqA16H3JzzWAEQuJIEEVVSfK0CJbAj5YP66RbPj7NPsqr8MYUsasLAIl8finnQasM2ooxivnNygPzqHf4fhPHzyuYD+5IpKsipr0YNOcTCZLiH8b7RYLoAvwjGRJsM/8+l1hfMqSqfOGnBTPDbgihADpXNebwB7XdbbYzKHZpnA6Hygt6SXv55LsiQkoqgwYbPAsjQIjpQLf1Tg3R+vVK4iNSjinb/SAKVd4vVNd6NEqDWygsehlKhiX+V9nVQWCRclHItmHImiMdrwX0GVVYY7+o9xl0qBwYaaT6P5WkUdryJCOqv9DvMylnf4jBZO/HhCLl0CQ6oUsARF6pIowehLUOEGNIAUPk9klMDHYgnQgN2TSCwF5JSLVukOhLK575JW4BIsZv99fxGuPs3H4LtQD2CZ0BikNNOo0MCdNrkwsS3cCz5UKYpYQpxZoMmXrcxXsCDo3YxcJ66kSkxjNEFtOOuxk0efR7f5rv2uvWeXcAPsZDhjpBJ2clhCDG7h9BTI3Xv5a+QCr9dI4lz2fIH456cV4vOoxpDSerFIXuTrV4i/2W21jirsFkuQFot/uKx5cxCRWhwuikXKOYE2CNkeZ/Jp/ArvNfqxL2IB65y/Ddr06VBr/LJ9Of2HpMkmXELux1qSe1k524UyGG3MfQMeSu0RfJAb6XBITvwhoD3ltnZAVWqQlREjap5rul2GjMKSNFIZFTu7dW+1Yl5o8BBkMkPuUymVB2ACGoklLQS9dfxNu91uVLvHBDGtc6N3vF45asVZIX128HlN6037ggL7Mz9DjDga51Or0Pb1oBTZiwYNZ4dwv9japfSh0P6TSknOxbvMT//LcJ7vGZz+8Fo70DnMStneY6AnQdJrEiPYCaPKO02KH9f+B80b/ud3BwAA | base64 -d | gunzip > /tmp/railway-start.sh && exec sh /tmp/railway-start.sh'`
- **Health check:** /api/ping
- **Public domain:** Yes

## Documentation

# Deploy and Host Joplin Server on Railway

Joplin Server is the official self-hosted sync server for Joplin, the open-source note-taking and to-do app. Your desktop, mobile and terminal Joplin apps sync notes, notebooks, tags and attachments through it. It also adds user accounts, note sharing between users and publishing notes as web pages.

## About Hosting Joplin Server

Hosting Joplin Server means running the Node.js server next to a PostgreSQL database, behind HTTPS on a stable public URL that the Joplin apps sync with. This template runs the official `joplin/server` image with Railway Postgres, and notes and attachments are stored in the database, on its volume. On first start the template runs the database migrations. It then gives the built-in admin account your e-mail address and a generated password, so a fresh deploy never has the upstream `admin@localhost` / `admin` login. Public sign-up stays off: the admin creates accounts. Railway's health check uses Joplin's `/api/ping` endpoint.

## Common Use Cases

* Sync Joplin notes between your laptop, phone and tablet without a third-party cloud
* Run a private notes server for a family or small team, with one account each
* Share notebooks with other users on the same server, or publish single notes as web pages

## Dependencies for Joplin Server Hosting

* Joplin Server (`joplin/server` Docker image, Node.js)
* PostgreSQL database (Railway Postgres)

### Deployment Dependencies

* Joplin Server docs: https://joplinapp.org/help/apps/sync/joplin_server
* Docker setup and environment variables: https://github.com/laurent22/joplin/blob/dev/packages/server/README.md
* Joplin Server releases: https://github.com/laurent22/joplin/releases?q=server-v
* Start command used by this template (readable): https://github.com/aalfath/joplin-server-railway-template

### Implementation Details

**First login.** Open your Railway URL and sign in with `JOPLIN_ADMIN_EMAIL` and the generated `DEFAULT_ADMIN_PASSWORD`, which is in the Joplin Server service's Variables tab. You can change the password under your profile. The template only renames the upstream `admin@localhost` account. Changing `JOPLIN_ADMIN_EMAIL` or `DEFAULT_ADMIN_PASSWORD` later does nothing: manage accounts in the web admin.

**Add users.** Go to Admin &gt; Users &gt; Add user and set an e-mail and password for each person. Without a mail server, set the password in that form; users added through the API get an e-mailed link instead.

**Connect a Joplin app.** In Joplin, open the Synchronisation settings (Tools &gt; Options &gt; Synchronisation on desktop), choose "Joplin Server", and enter your Railway URL (for example `https://your-app.up.railway.app`) with your e-mail and password.

**Good to know.** Joplin only answers on the host in `APP_BASE_URL`. If you add a custom domain, set `APP_BASE_URL` to `https://your.domain` and redeploy. Railway's health check is sent to a small listener on `PORT` (8080), which passes it on to Joplin's `/api/ping`. Joplin itself listens on port 22300, which the public domain targets. On every start the server compares the clock with `pool.ntp.org` and refuses to start if it is off by more than 2 seconds. To send e-mail (password resets, invitations), add Joplin's `MAILER_*` variables to the Joplin Server service.

## Why Deploy Joplin Server on Railway?


Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Joplin Server on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.




## Similar templates

- [RustFS | (Just Updated) S3 Object Store, Public URL and Keys Set](https://railway.com/deploy/rustfs-or-just-updated-s3-object-store-p) — S3-compatible object store, keys and public URL preset, volume kept
- [TimescaleDB](https://railway.com/deploy/timescaledb-railway-template) — A PostgreSQL-based time-series database for analytics on Railway.
- [Neo4j 2026.10 Community](https://railway.com/deploy/neo4j-202610-community) — Neo4j graph database with APOC, Browser, Bolt TCP proxy and a volume

Open this page in a browser: https://railway.com/deploy/joplin-server-1
