Railway

Deploy ConvertX

Self-hosted online file converter. Supports 1000+ formats

Deploy ConvertX

Just deployed

/app/data

Deploy and Host ConvertX on Railway

ConvertX is a self-hosted online file conversion service that lets users convert files between supported formats through a web interface. It runs as a Docker-based application and provides configurable authentication, registration, sharing, automatic file cleanup, and conversion settings. ConvertX is designed for users who want to run their own private or shared file-conversion service.

About Hosting ConvertX

Hosting ConvertX on Railway requires a single Docker service and a persistent Railway Volume. Deploy the c4illin/convertx:latest image and expose port 3000 through Railway's public networking. ConvertX stores its application files in /app/data, so a Railway Volume must be mounted at that path to preserve data across deployments and container restarts.

No PostgreSQL, Redis, MongoDB, Dockerfile, or Nixpacks configuration is required for this deployment. Railway provides the public domain and HTTPS, while ConvertX handles file conversion inside the application container. Configure JWT_SECRET as a secure application secret and set LANGUAGE=en for the default interface language. Optional variables can enable account registration, unauthenticated access, automatic cleanup, history visibility, and other application behavior.

Common Use Cases

  • Private File Conversion: Run a self-hosted conversion service for personal or internal use.
  • Team File Conversion: Allow users to upload and convert files through a shared web application with account-based access.
  • Public Conversion Service: Configure optional unauthenticated access when you want visitors to use ConvertX without creating accounts.

Dependencies for ConvertX Hosting

  • ConvertX Docker Image: c4illin/convertx:latest
  • Railway Volume: Required and mounted at /app/data for persistent application data and files.
  • JWT Secret: Required for application authentication and session security.
  • Railway Public Networking: Required to expose ConvertX on port 3000.

Deployment Dependencies

Implementation Details

Docker

Create a Railway service using:

c4illin/convertx:latest

No Dockerfile, Nixpacks configuration, or custom build process is required.

Public Networking

Configure the ConvertX service to expose:

SettingValue
Proxy TypeHTTP Proxy
Target Port3000
Application Port3000
HTTPSRailway-managed

In Railway, open ConvertX → Settings → Networking → Generate Domain.

The application will then be available through the generated Railway HTTPS domain.

Environment Variables

Configure the required variables:

VariableRequiredDescription
JWT_SECRETYesLong random secret used by ConvertX for authentication/session security.
LANGUAGEYesDefault application language. Set to en.

Raw Editor example:

JWT_SECRET=
LANGUAGE=en

Generate a strong random value for JWT_SECRET and store it as a Railway secret. Do not commit the value to source control.

Optional Variables

Account registration can be enabled with:

ACCOUNT_REGISTRATION=true

For a service that allows use without user accounts:

ALLOW_UNAUTHENTICATED=true

For a private or account-based deployment, leave ALLOW_UNAUTHENTICATED unset.

Automatic file cleanup can be configured with:

AUTO_DELETE_EVERY_N_HOURS=24

Additional documented configuration can include:

HIDE_HISTORY=true
FFMPEG_ARGS=-preset veryfast
WEBROOT=/convert
UNAUTHENTICATED_USER_SHARING=true

Only enable optional settings that match the intended ConvertX deployment.

Persistent Storage

A Railway Volume is required.

Open:

ConvertX → Settings → Volumes → Add Volume

Set the mount path to:

/app/data

ConvertX uses this directory for its persistent application data and files. The volume ensures data is retained when the container is restarted, redeployed, or replaced.

Do not mount the volume at a different path unless ConvertX documentation specifies an alternative data directory.

Database

No external database service is required for this deployment.

Do not add PostgreSQL, Redis, or MongoDB. The supplied deployment configuration uses ConvertX's application storage under:

/app/data

and persists it using a Railway Volume.

Build & Start

No custom build or start command is required.

Railway should deploy:

c4illin/convertx:latest

using the Docker image's default startup configuration.

Do not configure Docker Compose, Nixpacks, or a separate application server.

Accessing the Application

After deployment:

  1. Open the ConvertX service in Railway.
  2. Go to Settings → Networking.
  3. Generate a Railway Domain.
  4. Wait for the deployment to complete.
  5. Open the generated HTTPS URL.

The resulting address will use Railway's generated domain, for example:

https://YOUR-CONVERTX-DOMAIN.up.railway.app

If account registration is disabled, users should use the authentication/access configuration provided by the deployment.

For a public conversion service, enable:

ALLOW_UNAUTHENTICATED=true

For a private deployment, leave it disabled and use the application's authentication features.

Recommended Production Configuration

A minimal production deployment is:

Service: ConvertX
Image: c4illin/convertx:latest
Port: 3000
Volume: /app/data

Required variables:

JWT_SECRET=
LANGUAGE=en

Optional configuration:

ACCOUNT_REGISTRATION=true
ALLOW_UNAUTHENTICATED=true
AUTO_DELETE_EVERY_N_HOURS=24
HIDE_HISTORY=true
FFMPEG_ARGS=-preset veryfast
WEBROOT=/convert
UNAUTHENTICATED_USER_SHARING=true

For a private deployment, keep ALLOW_UNAUTHENTICATED disabled. For a shared service, enable account registration only if users should be able to create their own accounts.

Why Deploy ConvertX 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 ConvertX 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
Rocky Linux
[Jul'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
41
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51