Railway

Deploy Immich

High-performance photo and video backup with search and sharing.

Deploy Immich

/cache

Just deployed

/data

/var/lib/postgresql/data

/data

Deploy and Host Immich on Railway

Immich is a high-performance, self-hosted photo and video management platform. It backs up media from mobile devices, presents a fast timeline, and adds albums, sharing, metadata, facial recognition, object detection, and semantic search while keeping the library on infrastructure you control.

About Hosting Immich

Hosting Immich requires four coordinated containers: the Immich server for the API and web interface, Immich Machine Learning for facial recognition and semantic search, PostgreSQL with VectorChord and pgvector for metadata and vector indexes, and Valkey as a Redis-compatible cache and job broker. The server, database, model cache, and Valkey data each use persistent Railway volumes. Only the Immich server is public; all dependency traffic uses Railway private domains. The template pins every image to the Umbrel-tested Immich v3.0.3 graph and configures the supported /api/server/ping health endpoint.

Warning: Immich is under very active development. Expect bugs and changes. Do not use it as the only way to store your photos and videos!

Common Use Cases

  • Automatically backing up photos and videos from iOS and Android devices
  • Privately searching a personal media library by faces, objects, scenes, and metadata
  • Organizing and sharing albums with family, friends, or a small team

Dependencies for Immich Hosting

  • PostgreSQL 14 with VectorChord 0.4.3 and pgvector 0.8.x support
  • Valkey 8 as the Redis-compatible cache and job broker
  • Immich Machine Learning for smart search, OCR, and facial recognition
  • Persistent Railway volumes for media, database data, model cache, and Valkey data

Deployment Dependencies

Implementation Details

ServiceImageNetworkingPersistent volume
Immichghcr.io/immich-app/immich-server:v3.0.3Public port 2283; private dependencies/data
Immich MLghcr.io/immich-app/immich-machine-learning:v3.0.3Private port 3003 only/cache
Postgresghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0Private port 5432 only/var/lib/postgresql/data
Redisvalkey/valkey:8-bookwormPrivate port 6379 only/data

The database password is generated once on Postgres and referenced by Immich. Internal hostnames use exact service namespaces and RAILWAY_PRIVATE_DOMAIN. PGDATA=/var/lib/postgresql/data/pgdata keeps PostgreSQL data below the Railway volume mount so initialization is not blocked by the mount's lost+found directory. Railway health checks use PORT=2283 and GET /api/server/ping, which returns {"res":"pong"} in v3.0.3.

Immich's automatic database dumps contain metadata only. Back up both the complete /data media volume and the PostgreSQL data independently, ideally with a 3-2-1 strategy. Immich must not be the only copy of your photos and videos.

Why Deploy Immich 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 Immich 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

More templates in this category

View Template
Garage S3 Storage
Ultra-light S3 server: fast, open-source, plug-and-play.

PROJETOS
7
View Template
NEW
Redis
Self Host Latest Redis with Railway

Arloodots
0
View Template
NEW
Papra
Document archiving with persistent SQLite metadata and file storage.

Heron Technology
0