Deploy Linkwarden
Bookmark manager with full-page archiving, collections, and team sharing.
Postgres
Just deployed
/var/lib/postgresql/data
Linkwarden
Just deployed
/data/data
Deploy and Host Linkwarden on Railway
Linkwarden is an open-source collaborative bookmark manager that collects, organizes, annotates, and fully preserves web pages. It creates local screenshot, PDF, readable-text, and self-contained HTML archives, supports collections and tags, and lets individuals or teams retain useful material even when the original page changes or disappears.
About Hosting Linkwarden
Hosting Linkwarden requires its web and background-worker container, PostgreSQL, a canonical authentication URL, and persistent storage for generated archives. This package pins the official Linkwarden v2.16.0 image, exposes its documented port 3000 through Railway HTTPS, and mounts /data/data for screenshots, PDFs, readable copies, previews, and uploaded files. PostgreSQL 16 stores users, collections, links, tags, and archive metadata on a separate volume. Railway generates the database password and NextAuth secret, keeps database traffic on the private network, and derives the exact NextAuth URL from the public service domain. Prisma migrations run before the web and worker processes start.
Preserve only content you are authorized to access and archive. Follow applicable copyright law and site terms, do not circumvent access controls, and do not redistribute archived content without permission.
Common Use Cases
- Build a private, searchable bookmark library with durable full-page archives
- Organize research and reference material with collections, tags, annotations, and readable views
- Share curated collections and collaborate on bookmarks with a team
Dependencies for Linkwarden Hosting
ghcr.io/linkwarden/linkwarden:v2.16.0postgres:16-alpine- Persistent volumes at
/data/dataand/var/lib/postgresql/data
Deployment Dependencies
- Linkwarden self-hosting installation
- Linkwarden environment variables
- Linkwarden v2.16.0 source
- Linkwarden v2.16.0 container
- Umbrel Linkwarden definition
Implementation Details
| Service | Image | Networking and health | Persistent storage |
|---|---|---|---|
Linkwarden | ghcr.io/linkwarden/linkwarden:v2.16.0 | Only public service; HTTPS targets port 3000; root path / is the upstream container health check | /data/data for local archives, previews, and uploads |
Postgres | postgres:16-alpine | Private only on port 5432; no public TCP proxy | /var/lib/postgresql/data with PGDATA below the mount root |
- Private database:
Linkwarden.DATABASE_URLreferencesPostgres.DATABASE_URL, which usesPostgres.RAILWAY_PRIVATE_DOMAIN; no public database endpoint is provisioned. - Authentication URL:
NEXTAUTH_URLis exactlyhttps://${{Linkwarden.RAILWAY_PUBLIC_DOMAIN}}/api/v1/auth, including the suffix required by Linkwarden v2. - Secrets: Railway generates
NEXTAUTH_SECRETandPOSTGRES_PASSWORDonce per deployment. Linkwarden consumes the authoritative Postgres URL rather than duplicating the password. - Persistence:
STORAGE_FOLDER=dataresolves to/data/datain both Linkwarden processes. The mounted volume preserves generated HTML, screenshots, PDFs, readable JSON, previews, and uploaded files across redeploys. - First administrator: credentials registration starts enabled so the first account receives user ID
1, matchingNEXT_PUBLIC_ADMIN=1. Immediately setNEXT_PUBLIC_DISABLE_REGISTRATION=trueafter creating the first administrator. Credentials login remains enabled so SMTP is not required for initial setup. - OAuth: GitHub, Google, and generic OIDC are disabled by default. Their externally issued client credentials have no shared defaults; add them only for providers you configure, using the callback URLs documented in
TEMPLATE.md. - Search: Meilisearch is optional upstream and intentionally outside this two-service graph. Linkwarden falls back to PostgreSQL-backed search when
MEILI_MASTER_KEYis absent.
This is a community-maintained deployment package and does not imply affiliation with or endorsement by Linkwarden.
Why Deploy Linkwarden 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 Linkwarden 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.
Template Content
Postgres
postgres:16-alpineLinkwarden
ghcr.io/linkwarden/linkwarden:v2.16.0