Deploy Snipe-IT | Open Source IT Asset Management on Railway
Self Host Snipe-IT. Track hardware, licenses, and assets & more
Snipe-IT
Just deployed
/var/lib/snipeit
MySQL
Just deployed
/var/lib/mysql
Deploy and Host Snipe-IT on Railway
Deploy Snipe-IT on Railway to get a fully functional IT asset management system running in minutes. Snipe-IT is the leading open-source platform for tracking hardware assets, software licenses, consumables, and accessories across your organization — built on Laravel with a clean web interface and a comprehensive REST API.
This Railway template pre-configures Snipe-IT with a MySQL database for persistent storage, HTTPS-ready environment variables, and a mounted volume for file uploads and backups. Self-host Snipe-IT on Railway and take full control of your asset inventory without vendor lock-in.
Getting Started with Snipe-IT on Railway
After deployment completes, visit your Railway-generated URL. Snipe-IT redirects to the setup wizard on first launch. The pre-flight check page validates your configuration — all checks should pass (the HTTP/HTTPS warning is cosmetic behind Railway's proxy and can be safely ignored). Click Next to proceed to the admin user creation step. Enter your name, email, and a strong password to create the first administrator account. Once setup completes, you're taken to the Snipe-IT dashboard where you can immediately start adding assets, creating categories, and importing inventory data via CSV or the REST API.

About Hosting Snipe-IT
Snipe-IT is a free, open-source IT asset management system built by Grokability. It solves the problem of tracking who has what, where it is, and when licenses expire — replacing spreadsheets with a purpose-built tool that includes audit trails, check-in/check-out workflows, and compliance-ready reporting.
Key features of self-hosted Snipe-IT include:
- Hardware asset tracking with check-in/check-out, status labels, and location management
- Software license management with seat tracking and expiration alerts
- Barcode and QR code scanning for fast asset identification
- Custom fields for tracking organization-specific metadata
- Full audit log with timestamps and user attribution for every action
- REST API for integrations with LDAP, SSO, and third-party tools
- 55+ language support for international teams
- Granular permissions with role-based access control
Why Deploy Snipe-IT on Railway
- One-click deploy with MySQL and persistent storage pre-configured
- No server management — Railway handles scaling, TLS, and infrastructure
- Volume-backed file storage for uploads, backups, and generated reports
- Environment variable configuration — no config files to manage
- Automatic HTTPS with Railway's edge proxy
Common Use Cases for Self-Hosted Snipe-IT
- IT department asset inventory — track laptops, monitors, peripherals, and mobile devices assigned to employees with check-in/check-out workflows
- Software license compliance — monitor license seats, expiration dates, and renewal costs across your organization
- Warehouse and consumable tracking — manage consumables like toner cartridges, cables, and accessories with minimum quantity alerts
- Audit and compliance reporting — generate reports for SOC 2, ISO 27001, and internal audits with full action history
Dependencies for Self-Hosted Snipe-IT
- Snipe-IT —
snipe/snipe-it:latest(Laravel 11 application with Apache and Supervisor) - MySQL — Railway-managed MySQL database for asset data, user accounts, and audit logs
Environment Variables Reference for Snipe-IT on Railway
| Variable | Description | Example |
|---|---|---|
APP_KEY | Laravel encryption key (base64-encoded, static) | base64:aBcDeFgH... |
APP_URL | Public-facing URL with HTTPS | https://${{RAILWAY_PUBLIC_DOMAIN}} |
APP_FORCE_TLS | Force HTTPS URL generation behind proxy | true |
DB_HOST | MySQL hostname via Railway reference | ${{MySQL.MYSQLHOST}} |
DB_DATABASE | Database name | ${{MySQL.MYSQLDATABASE}} |
DB_PASSWORD | Database password via Railway reference | ${{MySQL.MYSQLPASSWORD}} |
PORT | Container listening port | 80 |
Deployment Dependencies
- Runtime: PHP 8.x with Apache (bundled in Docker image)
- Docker Hub: snipe/snipe-it
- GitHub: grokability/snipe-it
- Docs: snipe-it.readme.io
Hardware Requirements for Self-Hosting Snipe-IT
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 1 vCPU | 2 vCPUs |
| RAM | 512 MB | 1 GB |
| Storage | 1 GB | 5 GB+ (scales with uploads) |
| Runtime | PHP 8.1+, MySQL 8.0+ | PHP 8.2+, MySQL 8.0+ |
Self-Hosting Snipe-IT with Docker
Run Snipe-IT locally with Docker Compose:
services:
snipeit:
image: snipe/snipe-it:latest
ports:
- "8000:80"
volumes:
- snipeit-data:/var/lib/snipeit
environment:
APP_KEY: "base64:$(openssl rand -base64 32)"
APP_URL: "http://localhost:8000"
DB_CONNECTION: mysql
DB_HOST: db
DB_PORT: "3306"
DB_DATABASE: snipeit
DB_USERNAME: snipeit
DB_PASSWORD: changeme
depends_on:
db:
condition: service_healthy
db:
image: mariadb:11.4
volumes:
- db-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: changeme
MYSQL_DATABASE: snipeit
MYSQL_USER: snipeit
MYSQL_PASSWORD: changeme
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 5s
timeout: 1s
retries: 5
volumes:
snipeit-data:
db-data:
Start the stack:
docker compose up -d
Visit http://localhost:8000 to complete the setup wizard.
How Much Does Snipe-IT Cost to Self-Host?
Snipe-IT is 100% free and open-source under the AGPL-3.0 license. There are no user caps, asset limits, or feature restrictions on the self-hosted version. Grokability offers optional managed hosting starting at $39.99/month and paid support plans ($449/year for Basic, $4,999/year for Enterprise). On Railway, your only cost is infrastructure — typically $5–15/month depending on asset volume and usage patterns.
Snipe-IT vs GLPI
| Feature | Snipe-IT | GLPI |
|---|---|---|
| Focus | IT asset management | ITSM + asset management |
| Ease of setup | Simple Docker deploy | More complex configuration |
| Ticketing system | No (asset-focused) | Built-in helpdesk |
| License tracking | Yes, with seat management | Yes |
| Barcode/QR support | Built-in scanning | Plugin-based |
| API | Full REST API | REST API |
| User sentiment | 90/100 (SoftwareSuggest) | 80/100 (SoftwareSuggest) |
Snipe-IT is the better choice if you need focused asset management with a clean UI. GLPI suits teams that also want ticketing and full ITSM in one platform.
FAQ
What is Snipe-IT and why self-host it? Snipe-IT is an open-source IT asset management system for tracking hardware, software licenses, consumables, and accessories. Self-hosting gives you full control over your data, no per-user fees, and the ability to integrate with internal systems via the REST API.
What does this Railway template deploy for Snipe-IT?
This template deploys the official snipe/snipe-it Docker image with a Railway-managed MySQL database. It pre-configures HTTPS, persistent storage for file uploads, and all required database connections using Railway service references.
Why does Snipe-IT need a MySQL database on Railway? Snipe-IT stores all asset records, user accounts, audit logs, custom fields, and license data in MySQL. The Railway-managed MySQL instance provides automatic backups, persistent storage, and zero-configuration setup.
How do I enable LDAP or SSO authentication in self-hosted Snipe-IT?
Set the LDAP environment variables (LDAP_ENABLED=true, LDAP_SERVER, LDAP_BIND_DN, etc.) in your Railway service configuration. Snipe-IT supports LDAP/Active Directory sync and SAML 2.0 SSO out of the box — configure these through the Admin > LDAP settings panel after initial setup.
Can I import existing asset data into Snipe-IT on Railway? Yes. Snipe-IT supports CSV import for assets, users, licenses, accessories, and consumables. Navigate to the import section in the admin panel and upload your CSV file. The REST API also supports bulk operations for programmatic imports.
How do I generate backups of Snipe-IT data on Railway?
Snipe-IT includes a built-in backup feature accessible from Admin > Backups. Database backups are stored in the /var/lib/snipeit volume, which persists across Railway redeployments. For additional safety, use Railway's MySQL backup features or schedule mysqldump exports.
Template Content
Snipe-IT
snipe/snipe-it:latestMySQL
mysql:9.4