Deploy Snipe-IT
Open-source IT asset management with MySQL, uploads and a ready admin
MySQL
Just deployed
/var/lib/mysql
Snipe-IT
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
- Snipe-IT v8.8.3 release
- Snipe-IT Docker documentation
- Snipe-IT configuration reference
- Official image on Docker Hub
Implementation Details
- First login: open the Railway domain and sign in as
admin(or yourADMIN_USERNAME) with theADMIN_PASSWORDvalue 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; editingADMIN_*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 exampleAPP_TIMEZONE=Europe/Berlin,PHP_UPLOAD_LIMIT=200orSITE_NAME. - Email is off until you add
MAIL_HOST,MAIL_PORT,MAIL_USERNAME,MAIL_PASSWORDandMAIL_FROM_ADDRto 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_URLtohttps://followed by that domain, for examplehttps://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:8Snipe-IT
snipe/snipe-it:v8.8.3ADMIN_EMAIL
