Deploy UNA/NEO Railway template

UNA as old frontent and API backend, NEO as React frontend.

Deploy UNA/NEO Railway template

Deploy and Host UNA/NEO on Railway

UNA is an open-source community platform with modular apps for profiles, groups, events, forums, videos, marketplace and courses. NEO is its modern Next.js web client. This template deploys UNA (backend and API), NEO (frontend) and MariaDB, pre-wired together, so you get a working social network in minutes.

About Hosting UNA/NEO

The template runs three services. The una service is a PHP 8.3 + Apache container with FFmpeg. On first start it waits for MariaDB, installs UNA with its bundled modules and creates the admin account. On every start it enables the JSON API, registers the API key and allowed origins for NEO, and runs UNA's scheduler every minute. The neo service builds the Next.js client against your public URLs and calls UNA through a key-authenticated API. MariaDB stores all data. After deployment, open the NEO domain and sign in as admin.

Common Use Cases

  • Launch a branded online community, social network or membership site with a modern web front end.
  • Run a creator or business hub with groups, events, forums, videos, courses and a paid marketplace (Stripe, Snipcart, Shopify).
  • Self-host a headless social backend (UNA JSON API) and build or customize your own NEO-based web or Expo mobile client.

Dependencies for UNA/NEO Hosting

  • UNA service: PHP 8.3 + Apache with the gd, mysqli, pdo_mysql, zip, exif and opcache extensions, plus FFmpeg for video processing.
  • NEO service: Node.js 24, Yarn and Next.js.
  • MariaDB 10.2.3+ (or MySQL 5.7.8+) database.
  • A public domain for UNA and one for NEO (Railway-provided domains work).
  • Optional: an SMTP or email provider for outgoing mail.

Implementation Details

Key variables (use Railway references as shown):

# una
DATABASE_URL=${{MariaDB.MARIADB_URL}}
UNA_API_KEY=
UNA_CLIENT_URL=https://${{neo.RAILWAY_PUBLIC_DOMAIN}}
UNA_API_ORIGINS=                      # optional extra allowed browser origins
UNA_ADMIN_USERNAME=admin
UNA_ADMIN_PASSWORD=
UNA_SITE_TITLE=UNA
UNA_DEMO_SEED=0                       # set to 1 to create demo content

# neo (read at build time)
UNA_URL=https://${{una.RAILWAY_PUBLIC_DOMAIN}}
NEXT_PUBLIC_UNA_URL=https://${{una.RAILWAY_PUBLIC_DOMAIN}}
APP_URL=https://${{neo.RAILWAY_PUBLIC_DOMAIN}}
NEXT_PUBLIC_APP_URL=https://${{neo.RAILWAY_PUBLIC_DOMAIN}}
UNA_API_KEY=${{una.UNA_API_KEY}}

Change the default admin password after the first deploy. Attach a volume to the una service at /var/www/html/storage so uploaded files survive redeploys. UNA's scheduler runs inside the una service, so no separate cron service is needed.

Why Deploy UNA/NEO 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 UNA/NEO 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
Libredesk - Complete Setup
Complete self-hosted omnichannel customer support desk.

codestorm
2
View Template
Paperless-ngx
Paperless-ngx — document management with OCR and full-text search

INAPP
1
View Template
Instatic CMS - Postgres
Design, build and manage powerful static sites from state-of-the-art CMS

Instatic
168