Deploy Homarr — Self-Hosted Dashboard for Your Services
Self-host Homarr — one dashboard for all your apps & integrations
Homarr
Just deployed
/appdata
Deploy and Host Homarr on Railway
Homarr is a sleek, open-source dashboard and homepage for all your self-hosted apps and services — one clean, customizable start page that links to and integrates with tools like Plex, Jellyfin, Sonarr, Radarr, and dozens more. Drag-and-drop widgets, live service status, search, and per-integration API tiles, all in a fast, self-hosted interface. This template deploys it with the encryption key and persistent storage configured correctly — the part most Homarr deployments get wrong.
What This Template Deploys
| Service | Purpose |
|---|---|
| Homarr | The dashboard, widget editor, and integration engine on port 7575 |
A single service with a persistent volume at /appdata, which holds the SQLite database, your dashboard layout, user accounts, and all saved integration credentials. Homarr runs an embedded Redis internally — no separate service needed.
About Hosting
Homarr is simple to run and easy to break in one specific way, which this template exists to prevent.
SECRET_ENCRYPTION_KEY is required, exactly 64 hex characters, and must never change. Homarr won't even start without it — a missing key makes the container exit on boot. More importantly, that key encrypts the API keys and passwords for every integration you add (Plex, Sonarr, Radarr, and the rest). If the key changes on a redeploy, every saved integration credential is permanently invalidated and you re-enter them all by hand. This template generates a stable 64-character key (openssl rand -hex 32) at deploy and keeps it fixed, so your integrations survive redeploys.
The /appdata volume holds everything. Your dashboard layout, boards, users, preferences, and the SQLite database all live there. Without a persistent volume, a redeploy resets Homarr to a blank dashboard. This template mounts it.
One honest limitation on Railway: the Docker-socket integration doesn't work here. On a home server, Homarr can mount /var/run/docker.sock to auto-discover and control local containers. Railway has no host Docker socket to mount, so that specific feature isn't available. Everything else — app tiles, service status pings, and API integrations with Plex, the *arr apps, Jellyfin, and others reachable over the network — works fully. On Railway, Homarr is your dashboard and homepage for services across your infrastructure, not a local-container monitor.
Typical cost: ~$5/month on Railway's Hobby plan for the single service. Homarr is free and open source.
How It Compares
| Homarr (self-hosted) | Heimdall | Dashy | Organizr | |
|---|---|---|---|---|
| Cost | ~$5/mo infra | Self-hosted | Self-hosted | Self-hosted |
| Live integrations | Yes (API tiles) | Basic | Yes (config) | Yes |
| Drag-and-drop editor | Yes | Limited | YAML-based | Tab-based |
| Widgets & status | Rich | Basic | Rich | Moderate |
| Setup style | UI-driven | UI-driven | Config file | UI-driven |
| Self-hostable | Yes | Yes | Yes | Yes |
Heimdall is simpler but lighter on live integrations; Dashy is powerful but config-file-driven; Organizr leans toward tabbed frames. Homarr's strength is a polished, UI-driven dashboard with rich drag-and-drop widgets and live API integrations for the self-hosted media and *arr ecosystem — the modern pick for a homelab start page.
Deploy in Under 5 Minutes
- Click Deploy on Railway — Homarr builds automatically (~2 minutes)
- Confirm
SECRET_ENCRYPTION_KEYis set to a 64-character hex value (the template generates one) and save it - Confirm the volume is mounted at
/appdata - Open your Railway domain and complete the first-time setup to create your admin account
- Add app tiles, widgets, and integrations through the dashboard UI
Point tiles at your other services' URLs, and add API credentials for live integrations like Plex or Sonarr.
Common Use Cases
- Homelab homepage — one clean start page linking every self-hosted service you run, with search and quick access
- Media stack dashboard — live tiles for Plex, Jellyfin, Sonarr, Radarr, and the rest of the *arr suite via API integrations
- Service status board — at-a-glance up/down status and metrics for the services across your infrastructure
- Team app portal — a shared, branded launchpad for the tools a team uses, on your own domain
- Personal dashboard — bookmarks, widgets (weather, calendar, RSS), and app links in one customizable page
- Multi-user dashboards — separate boards and access per user with built-in authentication
Configuration
| Variable | Required | Description |
|---|---|---|
SECRET_ENCRYPTION_KEY | Required | Exactly 64 hex chars (openssl rand -hex 32). Encrypts integration credentials — must never change |
AUTH_SECRET | Recommended | Auth.js session secret — set a random value and keep stable |
PORT | Pre-set | 7575 |
NODE_ENV | Pre-set | production |
AUTH_PROVIDERS | Optional | Auth methods, e.g. credentials or credentials,oidc for SSO |
AUTH_SESSION_EXPIRY_TIME | Optional | Session length, e.g. 30d |
PUID / PGID | Optional | User/group IDs if running as a non-root user (set volume permissions to match) |
SECRET_ENCRYPTION_KEYis permanent — set it once, keep it stable. It encrypts every integration's saved credentials. If it changes, all of them are invalidated and must be re-entered. It must be exactly 64 hex characters, or Homarr won't start. Back it up.
The
/appdatavolume holds your whole dashboard. Boards, users, preferences, and the SQLite database live there. Without the volume, a redeploy wipes everything to a blank dashboard.
Dependencies for Homarr Hosting
- Railway account — Hobby plan (~$5/month) runs the dashboard
- A persistent Railway volume mounted at
/appdata(included) - The services you want to link or integrate (Plex, Sonarr, etc.), reachable over the network
- Optional: an OIDC provider for SSO login
Deployment Dependencies
- Homarr GitHub Repository
- Homarr Documentation
- Environment Variables Reference
- Railway Volumes Documentation
Implementation Details
The template runs ghcr.io/homarr-labs/homarr on port 7575 with a persistent volume at /appdata, which holds the SQLite database, dashboard configuration, user accounts, and encrypted integration credentials. Homarr bundles Redis internally, so no separate Redis service is required for a standard single-instance deployment.
SECRET_ENCRYPTION_KEY is generated as a 64-character hex string at deploy and kept stable. This is the critical detail: Homarr requires it to start, and it encrypts the credentials for every integration, so a changing key permanently invalidates saved integrations. Pinning it once is what makes redeploys safe.
The Docker-socket integration that lets Homarr monitor local containers isn't available on Railway, since there's no host Docker daemon to mount — but URL tiles, status pings, and network-reachable API integrations all work. For backups, archive the /appdata directory, which contains both the database and the configuration.
Frequently Asked Questions
Why does Homarr need SECRET_ENCRYPTION_KEY? It encrypts the API keys and passwords for every integration you add, and Homarr refuses to start without it. It must be exactly 64 hex characters. This template generates one at deploy and keeps it stable.
What happens if the encryption key changes? Every saved integration credential is permanently invalidated and must be re-entered — the most common way self-hosted Homarr loses its setup. Keeping the key fixed across redeploys, as this template does, prevents that.
Does my dashboard survive a redeploy? Yes, with the /appdata volume mounted. Boards, users, preferences, and the database persist there. Without the volume, a redeploy resets to a blank dashboard.
Can Homarr monitor my Docker containers on Railway? Not the local-container feature — that needs a host Docker socket, which Railway doesn't provide. App tiles, status pings, and API integrations with network-reachable services all work.
Which apps can it integrate with? Plex, Jellyfin, Sonarr, Radarr, and dozens of others via API tiles, plus generic URL tiles for anything with a web interface. Live integrations show status and stats, not just links.
Does it need a separate database or Redis? No. Homarr uses SQLite in the /appdata volume and an embedded Redis by default, so a standard deployment is a single service. PostgreSQL is optionally supported for larger setups.
Can multiple users have their own dashboards? Yes. Homarr supports authentication with per-user boards and access control, and OIDC/SSO via AUTH_PROVIDERS.
Why Deploy Homarr 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 Homarr on Railway you get a polished self-hosted dashboard with the pitfalls solved — a stable 64-character encryption key so your integrations survive redeploys, the /appdata volume that keeps your boards, and automatic HTTPS. One clean homepage for every service you run, on infrastructure you own.
Template Content
