RemarkableCloud

Apps / Docker Images

Snipe-IT in Docker.
Asset tracking, keys kept.

Snipe-IT is the open source IT asset management system: hardware, licenses, accessories and consumables, who has what, since when, and when the warranty dies.

docker pull ghcr.io/remarkablecloud/snipeit

Current build

8.7.2-r1

Updated Sep 12, 2026

Base

Snipe-IT official, digest-pinned

What's inside

Persisted APP_KEY, headless superuser, /setup closed, MySQL 8 pairing

Upstream license

Snipe-IT: GNU AGPL-3.0.

Free to pull and run anywhere. Digest-pinned, updated deliberately; each build is recorded in the changelog.

The image

What our image adds.

Snipe-IT is the open source IT asset management system: hardware, licenses, accessories and consumables, who has what, since when, and when the warranty dies.

APP_KEY generated and persisted

The single most damaging Snipe-IT mistake, losing the key on container recreation, cannot happen; it lives on a volume.

Headless superuser, /setup closed

The admin exists with a generated password before first request, and the setup wizard is disabled, so a fresh install is never claimable.

MySQL 8 pairing

Wired, healthchecked, on the internal network.

Digest-pinned base

Rebuilt and scanned on our schedule.

Proxy-aware APP_URL

Links, emails and QR labels follow your real domain.

The guide

Run it in production.

Architecture at a glance

Two containers: snipeit (Laravel app on 80 internal) and db (MySQL 8). Volumes hold the database and the app’s persistent data including the APP_KEY and uploads.

Docker Compose walkthrough

Set DB_PASSWORD, DB_ROOT_PASSWORD and SITE_URL, bring it up, read the generated superuser credentials from the log, log in, and start with locations and categories before importing assets; Snipe-IT rewards ten minutes of taxonomy before the first CSV import.

Environment variable reference

VariablePurpose
DB_HOST / DB_PORT / DB_USERNAME / DB_PASSWORDMySQL connection
APP_URLPublic https URL; drives links, emails and label QR codes
APP_KEY (persisted on volume)Encrypts sensitive fields; never rotate casually
SMTP settingsNeeded for user invites, alerts and expected check-in reminders

Hardening notes

Treat the APP_KEY volume as the crown jewels: with the database dump but without the key, encrypted custom fields are unrecoverable. Keep /setup closed (the image already does), the DB internal, and 80 behind your proxy.

Backups

Database dump plus the data volume, together, always; they are only useful as a pair because of the key. Snipe-IT also has its own backup tool, which is a fine extra, not a substitute.

Upgrades

Pull the new tag and recreate; migrations run on boot. Snipe-IT upgrades are generally uneventful when you ride promoted tags in order.

Updates

Recent builds.

8.7.2-r1

Sep 12, 2026

FAQ

Questions we get.

Why is the APP_KEY such a big deal?

Laravel encrypts sensitive fields with it. New key means old ciphertext is permanently unreadable. Persisting it is the whole game, and this image does it for you.

Can employees check gear in and out themselves?

Yes, Snipe-IT has self-service checkout requests and per-user views; you control it with roles and permissions.

Does it print labels?

It generates label sheets with QR and barcodes out of the box; APP_URL must be right for scans to resolve.

LDAP or SSO?

Supported by Snipe-IT (LDAP built in, SAML available); configure it in the admin settings once the base install is healthy.

Your server runs. You sleep.

Fully managed hosting from people who have been doing this since 2001.