
Deploy Alarik
Alarik is a high-performance, S3-compatible object storage.
Just deployed
/app/Storage
Just deployed
Deploy and Host Alarik on Railway
Alarik by Achtung Software is an open-source management platform consisting of a core API backend and a modern Nuxt-based web administration console. This Railway template deploys both the Alarik API server (alarik) and the Alarik Console web dashboard (console) with persistent file storage and automated secret configuration.
About Hosting Alarik
Hosting Alarik on Railway runs two connected container services:
- Alarik API (
alarik): Core backend service usingghcr.io/achtungsoftware/alarik:latest. It handles API requests, user authentication, JWT token signing, and data persistence. It mounts a persistent volume at/app/Storageand listens on port8080. - Alarik Console (
console): Web management frontend usingghcr.io/achtungsoftware/alarik-console:latest. It provides the Nuxt dashboard UI, listening on port3000and communicating with the API service over HTTPS.
Both services are assigned Railway public domains so users can access the administrative UI and API endpoints securely.
Common Use Cases
- Self-hosted administrative platform: Manage Alarik services and accounts on infrastructure you control.
- Decoupled API & Console architecture: Manage frontend and backend services within a single Railway project.
- Secure multi-tenant / multi-user management: Configurable admin credentials and account creation controls.
- Persistent file & state storage: Retain application files, configurations, and database state across container redeployments.
Dependencies for Alarik Hosting
- Alarik API image:
ghcr.io/achtungsoftware/alarik:latest - Alarik Console image:
ghcr.io/achtungsoftware/alarik-console:latest - One persistent volume mounted at
/app/Storageon thealarikbackend service - Railway public domains for both
alarikandconsoleservices - Auto-generated secrets: Admin password (
ADMIN_PASSWORD) and JWT signing key (JWT)
Upstream: GitHub
Implementation Details
| Service | Image | Role | Web Port | Volume Mount |
|---|---|---|---|---|
| alarik | ghcr.io/achtungsoftware/alarik:latest | Core Backend API & Storage | 8080 | /app/Storage |
| console | ghcr.io/achtungsoftware/alarik-console:latest | Nuxt Web Admin Dashboard | 3000 | None |
Topology
| Service | Role | Volume | Public | Notes |
|---|---|---|---|---|
| alarik | Core API + Data Store | /app/Storage | Yes (Port 8080) | Runs with RAILWAY_RUN_UID=0 for volume write permissions |
| console | Frontend Web Dashboard | None | Yes (Port 3000) | Nuxt UI pointing to alarik API domain |
Volumes (drives) — what to mount
| Service | Mount path | What is stored |
|---|---|---|
| alarik | /app/Storage | Application data, persistent storage, logs, and database files |
Warning: Do not remove or detach the
/app/Storagevolume on thealarikservice — application data and state will be lost on subsequent deploys.
Quick Start
- Click the Deploy on Railway button above.
- Sign in (or create a free Railway account) and click Deploy.
- Wait 1–2 minutes for both the
alarikAPI andconsoleweb services to provision. - Open the alarik service → Variables to retrieve your auto-generated
ADMIN_PASSWORD(default username isalarik). - Open the console service → Settings → Networking and click the generated public domain URL.
- Log in to the Alarik Console using your administrative credentials.
Configuration
Core Backend Variables (alarik)
| Variable | Default / Source | Description / Notes |
|---|---|---|
API_BASE_URL | https://${{RAILWAY_PUBLIC_DOMAIN}} | Public URL for the Alarik API |
CONSOLE_BASE_URL | https://${{console.RAILWAY_PUBLIC_DOMAIN}} | Public URL for the Alarik Console frontend |
ADMIN_USERNAME | alarik | Default administrative username |
ADMIN_PASSWORD | Auto-generated secret (16 chars) | Admin account password |
JWT | Auto-generated secret (64 chars) | Secret key used for signing JWT tokens |
ALLOW_ACCOUNT_CREATION | false | Disable or enable public user registration |
PORT | 8080 | Internal port the API server listens on |
RAILWAY_RUN_UID | 0 | Runs process as root to ensure write access to /app/Storage |
Web Console Variables (console)
| Variable | Default / Source | Description / Notes |
|---|---|---|
NUXT_PUBLIC_API_BASE_URL | https://${{alarik.RAILWAY_PUBLIC_DOMAIN}} | Points Nuxt frontend to the alarik API domain |
NUXT_PUBLIC_CONSOLE_BASE_URL | https://${{alarik.RAILWAY_PUBLIC_DOMAIN}} | Console public domain reference |
NUXT_PUBLIC_ALLOW_ACCOUNT_CREATION | false | Controls frontend registration UI behavior |
PORT | 3000 | Internal port the Nuxt server listens on |
Custom Domain
- Open the target service (
consoleoralarik) → Settings → Networking → Custom Domain. - Add your custom domain and follow Railway’s DNS configuration instructions.
- Update
CONSOLE_BASE_URLorAPI_BASE_URLenvironment variables if custom domains are used. - Railway provisions TLS automatically.
Updating Alarik
- For both
alarikandconsoleservices, go to Settings → Source. - Update the image tag (e.g.,
ghcr.io/achtungsoftware/alarik:latestor a specific release tag). - Click Redeploy.
All application data inside /app/Storage will remain intact across updates.
Traps
Ways this still fails or surprises people:
- Volume Permissions (
RAILWAY_RUN_UID) — Thealarikcontainer requiresRAILWAY_RUN_UID=0so it can write data into the mounted/app/Storagevolume. Removing this variable may cause permission denied errors on startup. - Missing
/app/StorageVolume — If the/app/Storagevolume is deleted or detached, all persistent application state and stored files will be lost during a redeploy. - Domain Mismatch between Console and API — The
consoleservice depends onNUXT_PUBLIC_API_BASE_URLpointing to the public URL of thealarikservice. If custom domains are added without updating environment variables, CORS or connection errors may occur. - Auto-generated Secrets lost on recreation — Make sure to copy down
ADMIN_PASSWORDfrom thealarikservice variables tab after the initial deployment.
Why Deploy Alarik on Railway?
Railway provides a complete platform to host multi-container architecture stacks without complex server configuration. Hosting Alarik on Railway gives you private service networking, persistent volume mounts, auto-generated security tokens, and automatic HTTPS certificates out of the box.
Template Content