Deploy glpi-template
GLPI — IT helpdesk + asset management, auto-installed in one click
Just deployed
/var/lib/mysql
Just deployed
/var/glpi
GLPI — IT helpdesk + asset management, auto-installed in one click. Tickets, SLAs, and a full IT asset inventory (CMDB) on your own Railway domain in minutes — no install wizard, no database setup, nothing to type.
What you get
- GLPI 11 (official
glpi/glpi:11.0.9image) on your Railway domain with TLS - MariaDB 10.11 on Railway's private network (GLPI 11 requires MariaDB 10.6+ / MySQL 8+)
- Silent auto-install: the installer runs itself on first boot — no web wizard
- Persistent storage: uploads, plugins, config, and logs live on a volume at
/var/glpiand survive restarts - Background jobs: GLPI's cron worker runs notifications, SLA escalation, and follow-ups automatically
- Timezone-aware dates: timezone tables are loaded and enabled for you
First login (important — do this immediately)
- Open your Railway domain and log in with glpi / glpi. These are well-known default credentials created by the installer — change this password immediately (avatar menu, top right → My Settings).
- GLPI shows a critical security banner until the other seeded accounts are fixed too. Change or disable
tech/tech,normal/normal, andpost-only/postonlyunder Administration → Users. - Then create your first ticket (Assistance → Tickets) or add your first asset (Assets → Computers).
Cost
Two small services plus two small volumes — roughly $5–10/month on Railway's Hobby plan. Raise the glpi service RAM if you add many agents, plugins, or heavy asset inventories.
Deploy and Host
Deploy GLPI to Railway in one click. The template provisions both services, wires the database credentials by reference, and hands you a login-able helpdesk at your Railway domain — the installer runs itself on the first boot with zero prompts.
About Hosting
Hosting GLPI on Railway gives you a managed ITSM stack: a glpi service (official image, pinned glpi/glpi:11.0.9, wrapped for Railway so the /var/glpi volume is writable and served on port 80) and a mariadb service (mariadb:10.11, private networking only, utf8mb4). The five GLPI_DB_* variables the official image needs for its silent auto-install are pre-wired: host points at the MariaDB private hostname, the password is generated fresh per deployment and shared by reference — no secrets in the repo, nothing to type at deploy time. Everything GLPI writes outside the database (config, uploaded files, logs, marketplace plugins) lives on a single volume at /var/glpi, so restarts and redeploys keep your installation. Timezone tables are loaded in the MariaDB init and enabled in GLPI on every boot, so dates and SLAs render correctly.
Why Deploy
- Zero-prompt install: the official image only auto-installs when all five
GLPI_DB_*variables are set; this template guarantees that, so you never see the web install wizard. - Credential hygiene: the MariaDB password is generated per deployment and shared by reference — never hardcoded, never in the repo.
- Persistence built in: one volume covers config, files, logs, and plugins — restart-proof by design.
- Cron included: notifications, SLA escalations, and scheduled tasks run via the built-in worker (
GLPI_CRONTAB_ENABLED=1). - Version-pinned and current: GLPI 11.0.9 with weekly-security-rebuild upstream images; MariaDB 10.11 satisfies the GLPI 11 minimum (10.6).
- Private database: MariaDB has no public endpoint — only the GLPI service reaches it over Railway's private network.
Common Use Cases
- Internal IT helpdesk: ticketing with SLAs, assignment rules, notifications, and satisfaction surveys
- IT asset inventory (CMDB): computers, phones, network gear, licenses, contracts, and financial tracking
- Client-facing support desk with a self-service portal (GLPI's simplified interface)
- Small MSPs running multiple tenant inventories from one GLPI instance
- Scheduled jobs: ticket auto-closing, reminders, and mail collection (configure SMTP under Setup → Notifications)
Dependencies for
The template is self-contained: GLPI and MariaDB are provisioned together, wired over Railway's private network, and need nothing external.
Deployment Dependencies
- MariaDB 10.11 (
mariadbservice): created with theglpidatabase and user automatically; root password is randomized per deployment. Data persists on a volume at/var/lib/mysql. - GLPI 11 (
glpiservice): pulled as the official pinned image with a thin Railway wrapper (volume ownership fix,/healthzroute, timezone enable on boot). Deploys with anON_FAILURErestart policy, so the first-boot database wait resolves itself. - Railway private networking:
GLPI_DB_HOSTresolves tomariadb.railway.internalautomatically.
Troubleshooting
- First deploy looks slow: the first boot creates the full database schema — give it a few minutes and refresh the domain.
- Install wizard appears instead of auto-install: one of the five
GLPI_DB_*variables is missing — restore them exactly as the template defines them (host and password must be references, not literal values). - Version mismatch on install: GLPI 11 requires MariaDB 10.6+ or MySQL 8+. This template pins
mariadb:10.11— don't downgrade the image. - Timezone warnings in GLPI: the template loads the timezone tables in the MariaDB init (first initialization only) and enables them in GLPI on every boot. If warnings persist, SSH into the
glpiservice and runphp bin/console database:enable_timezones. - Notifications or SLA escalations not firing: the cron worker is enabled by default; check the
glpideploy logs for "GLPI cron is enabled" and verify Setup → Automatic actions. - Uploaded files vanish after a redeploy: the
/var/glpivolume was removed or its mount path changed.
Template Content
