Deploy Snipe-IT

Open-source IT asset management with MySQL, uploads and a ready admin

Deploy Snipe-IT

MySQL

mysql:8

Just deployed

/var/lib/mysql

Just deployed

/var/lib/snipeit

Deploy and Host Snipe-IT on Railway

Snipe-IT is an open-source IT asset management system by Grokability. It tracks hardware, software licenses, accessories, consumables and components, records who has each item checked out, and keeps audit history, file attachments and custom fields. It is written in PHP on Laravel and has both a web interface and a REST API.

About Hosting Snipe-IT

Hosting Snipe-IT takes a PHP web server, a MySQL or MariaDB database, persistent storage for uploads and keys, a scheduler for alerts, and a stable APP_KEY. This template runs the official snipe/snipe-it v8.8.3 image (Apache, PHP 8.3 and the Laravel scheduler in one service) next to Railway's MySQL, connected over the private network. A volume at /var/lib/snipeit keeps uploaded files, private attachments, backups and OAuth keys. On first start the template runs the database migrations, creates the OAuth keys that API tokens need, and creates the admin account from deploy variables, so the setup wizard is never left open on the public URL.

Common Use Cases

  • Track laptops, monitors, phones and other hardware, and who has each item checked out
  • Manage software licenses and seats, with expiry and warranty alerts
  • Run audits and inventories, and connect other tools through the REST API

Dependencies for Snipe-IT Hosting

  • MySQL 8 (Railway's MySQL service, included)
  • A persistent volume for uploads, backups and OAuth keys (included)
  • Optional: an SMTP server for alert and password reset emails

Deployment Dependencies

Implementation Details

  • First login: open the Railway domain and sign in as admin (or your ADMIN_USERNAME) with the ADMIN_PASSWORD value from the Snipe-IT service's Variables tab. The account is created on the first start only, so change the password in Snipe-IT afterwards; editing ADMIN_* later has no effect.
  • APP_KEY is generated in Laravel's base64: format. Keep it: it encrypts sessions and stored secrets, and changing it breaks them.
  • Railway defaults set by the start command: Apache listens on Railway's PORT, Railway's proxy headers are trusted (so login logs show the real client IP), cookies are secure, and uploads may be up to 100 MB. To change one, add the variable to the Snipe-IT service, for example APP_TIMEZONE=Europe/Berlin, PHP_UPLOAD_LIMIT=200 or SITE_NAME.
  • Email is off until you add MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD and MAIL_FROM_ADDR to the Snipe-IT service. Until then, outgoing mail is written to the log.
  • Custom domain: add it to the Snipe-IT service and set APP_URL to https:// followed by that domain, for example https://assets.example.com.

Why Deploy Snipe-IT 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 Snipe-IT 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

MySQL

mysql:8

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
51
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
52