Deploy snipe-it-lite

IT asset management with SQLite, single container

Deploy snipe-it-lite

Just deployed

/var/lib/snipeit

Snipe-IT Lite — IT Asset Management

Self-hosted IT asset management with SQLite storage. Track laptops, licenses, accessories, and who has what — one container, no database server required.

Deploy and Host

Host Snipe-IT on Railway. This template provisions Snipe-IT (v8, alpine) with a persistent volume for its SQLite database — single service, Hobby-tier friendly.

Deploy to Railway

Why Deploy

Snipe-IT is the open-source standard for IT asset management (50k+ GitHub stars). Running it on Railway gives you:

  • Single container — SQLite on a volume instead of a separate MySQL/Postgres service
  • Persistent data — assets, users, and settings survive restarts on a Railway volume
  • Hobby-tier friendly — 512MB plan runs it; no database server to pay for
  • Full feature set — asset check-in/check-out, depreciation, licenses, accessories, QR/barcode labels, REST API, LDAP/SAML optional
  • One-click setup — preboot creates the SQLite database; the web pre-flight wizard finishes in under a minute

Common Use Cases

  • Small-team IT inventory — track laptops, phones, and peripherals issued to employees
  • License compliance — record seats and expirations for software licenses
  • Check-in/check-out auditing — full history of who held which asset and when
  • Home lab inventory — keep hardware, VMs, and gear catalogued with photos and warranties
  • Paired with your stack — REST API for integrating inventory into CMDBs and wikis

About Hosting

This template runs Snipe-IT as a single service on Railway:

  • Imageghcr.io/mc9max/snipe-it-lite:latest (Snipe-IT v8 alpine + PHP SQLite driver)
  • Database — SQLite file on a 5GB volume at /var/lib/snipeit/database.sqlite, created automatically on first boot
  • Web server — Apache + PHP-FPM inside the container, listening on port 80
  • Scaling — one replica only (SQLite does not support multi-writer); scale vertically if needed
  • Backups — copy /var/lib/snipeit/database.sqlite from the volume, or use Settings → Backups in the UI

Features

  • Asset check-in/check-out with full audit history
  • Custom fields, categories, manufacturers, and status labels
  • Software license tracking with seat counts
  • Accessories and consumables inventory
  • QR-code and barcode asset labels
  • REST API with token auth
  • Optional LDAP / SAML single sign-on
  • Email alerts (configure SMTP after deploy)

Dependencies for

This template is self-contained — no external services required. All data persists on the service's volume at /var/lib/snipeit. The instance is ready out of the box on one-click deploy.

Deployment Dependencies

After first successful deploy:

  1. Open your Railway public domain — you'll be redirected to /setup (the Snipe-IT pre-flight wizard)
  2. The wizard validates the environment; every check should pass (database file, app key, extensions)
  3. Create the first admin user on the final wizard page
  4. Log in and start adding assets

Documentation

Snipe-IT docs: https://snipe-it.readme.io/docs — covers asset lifecycle, labels, LDAP, API keys, and backups.

Configuration

Variables

VariableDescriptionDefault
APP_KEYLaravel encryption key. Auto-generated at deploy.${{secret(32)}}
APP_URLPublic URL of the instance. Auto-filled with the Railway domain.${{RAILWAY_PUBLIC_DOMAIN}}
DB_CONNECTIONDatabase driver. SQLite keeps everything in one container.sqlite
DB_DATABASESQLite file path. Must stay on the volume./var/lib/snipeit/database.sqlite
APP_ENVLaravel environment.production
APP_DEBUGDebug output. Keep off in production.false
APP_TRUSTED_PROXIESTrust all proxies (Railway is the only proxy). Required for correct URL detection.**
APP_TRUSTED_HEADERSTrust Railway's X-Forwarded-* headers so Laravel detects HTTPS correctly.HEADER_X_FORWARDED_FOR,HEADER_X_FORWARDED_HOST,HEADER_X_FORWARDED_PORT,HEADER_X_FORWARDED_PROTO,HEADER_X_FORWARDED_PREFIX
SESSION_DRIVERSession storage backend.file
MAIL_MAILERMail transport. log stores mail in deploy logs until you configure SMTP.log
PHP_FPM_PM_MAX_CHILDRENPHP-FPM worker cap. 2 fits small plans.2
PHP_MEMORY_LIMITPHP memory cap.256M

Quick Start

After deployment, finish setup in the browser:

# Check the app is up (expect a 302 to /setup)
curl -I https://your-domain.up.railway.app/
  1. Visit https://your-domain.up.railway.app — redirects to the setup wizard
  2. Click through the pre-flight checks (all should be green)
  3. Create your admin user and log in
  4. Settings → Labels to enable QR/barcode asset tags
  5. Optional: Settings → Localization for currency and date formats

API usage (after creating a token in Settings → API):

# List assets
curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://your-domain.up.railway.app/api/v1/hardware

# Create an asset
curl -X POST -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"asset_tag":"LT-0001","model_id":1,"status_id":1}' \
  https://your-domain.up.railway.app/api/v1/hardware

License

AGPL-3.0 (Snipe-IT upstream)


Template Content

More templates in this category

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

codestorm
47
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