Railway

Deploy EasyImg

Simple self-hostable Nuxt.js personal image hosting system.

Deploy EasyImg

Just deployed

/app/db

Deploy and Host EasyImg on Railway

EasyImg is an open-source, self-hostable personal image hosting system built with Nuxt.js. It provides a simple web interface for uploading, organizing, previewing, and sharing images. EasyImg supports multiple upload methods, URL imports, API keys, public and private uploads, image moderation, notifications, statistics, rate limiting, and persistent local storage.

About Hosting EasyImg

Hosting EasyImg on Railway requires a single application service running the ghcr.io/chaos-zhu/easyimg:latest Docker image. The application listens on port 3000 and uses local filesystem storage for both its database and uploaded images. Railway Volumes are therefore required to preserve data between deployments. Mount one volume at /app/db for database files and another at /app/uploads for uploaded images. Railway provides public HTTP/HTTPS networking through a generated domain, while no external PostgreSQL or Redis service is required. The application runs with NODE_ENV=production, and Railway handles the container runtime, networking, TLS, deployments, and persistent storage.

Common Use Cases

  • Personal Image Hosting: Upload, organize, preview, and manage a personal collection of images through a self-hosted web interface.
  • Image Sharing and API Hosting: Provide public or private image uploads and create API keys for applications and third-party tools.
  • Content Management: Manage image libraries with batch operations, a recycle bin, storage statistics, upload restrictions, rate limiting, and optional NSFW detection.

Dependencies for EasyImg Hosting

  • EasyImg Docker Imageghcr.io/chaos-zhu/easyimg:latest, used to run the application.
  • Railway Volumes — Required to persist the EasyImg database and uploaded images.
  • Railway HTTP Networking — EasyImg exposes its web application on port 3000.
  • Persistent Filesystem/app/db stores database files and /app/uploads stores uploaded images.

Implementation Details

Deploy the published EasyImg image:

ghcr.io/chaos-zhu/easyimg:latest

Configure the production environment:

NODE_ENV=production

Public Networking

SettingValue
Proxy TypeHTTP Proxy
Target Port3000
Application Port3000
HTTPSRailway-managed

After deployment, open Settings → Networking → Generate Domain to create the public EasyImg URL.

Persistent Storage

Create two Railway Volumes:

/app/db

Stores EasyImg's database files.

/app/uploads

Stores uploaded images.

Both paths must be persistent because EasyImg stores application data and uploaded files locally.

Database

EasyImg uses its local database files under /app/db. No PostgreSQL, MySQL, or Redis service is required for this template.

For backups, preserve:

/app/db
/app/uploads

Default Account

After the first launch, the default account is:

Username: easyimg
Password: easyimg

Change the default username and password immediately after the first login.

Password Reset

To reset the administrator account, delete:

/app/db/admin.db

and restart the service. EasyImg will recreate the default account.

Supported Images

EasyImg supports JPEG, JPG, PNG, GIF, WebP, AVIF, SVG, BMP, ICO, APNG, and TIFF.

Optional Features

EasyImg supports API keys, public/private uploads, IP blacklisting, NSFW detection, Webhook notifications, Telegram, Email, ServerChan, upload restrictions, WebP compression, rate limiting, dark mode, and responsive layouts.

Optional NSFW detection can use external services or the self-hosted nsfw_detector project.

Why Deploy EasyImg 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 EasyImg 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
8
View Template
Redis
Self Host Latest Redis with Railway

Arloodots
2
View Template
Postgres Backup to Cloudflare R2 (S3-Compatible)
Automated PostgreSQL backups to S3-compatible storage with encryption

Artour
7