Sign inSign up

miguerubsk/glpi-arm64

By miguerubsk

β€’Updated over 1 year ago

A Dockerized version of GLPI, the open-source IT Asset Management and Service Desk solution.

Image
Developer tools
Monitoring & observability
0

373

miguerubsk/glpi-arm64 repository overview

⁠GLPI – IT Asset Management and Helpdesk

This Docker image provides an easy way to deploy GLPI⁠ β€” the powerful open-source IT asset management and service desk software.

The image is built on top of php:8.2-apache, includes all required PHP extensions for GLPI (such as intl, gd, ldap, exif, opcache), and is configured to run with Apache.

Security has been improved with safer PHP session settings (session.cookie_httponly=On, session.use_strict_mode=On), and the image is ready to use in both development and production environments, though further hardening (like HTTPS and stricter Apache configuration) is recommended for production use.


β πŸš€ Quick Start with Docker Compose and .env

You can deploy GLPI by defining your environment variables in a .env file and using the provided docker-compose.yml.

⁠1. Create a .env file
# Database configuration
MYSQL_HOST=db
MYSQL_DATABASE=glpi
MYSQL_USER=glpiuser
MYSQL_PASSWORD=glpipassword

# MariaDB root password (used internally)
MYSQL_ROOT_PASSWORD=rootpassword

# Port exposed on the host
GLPI_PORT=8081
⁠2. Use this docker-compose.yml
services:
  glpi:
    image: miguerubsk/glpi-arm64:latest
    container_name: glpi
    ports:
      - "${GLPI_PORT}:80"
    volumes:
      - glpi_data:/var/www/html
    environment:
      - MYSQL_HOST=${MYSQL_HOST}
      - MYSQL_DATABASE=${MYSQL_DATABASE}
      - MYSQL_USER=${MYSQL_USER}
      - MYSQL_PASSWORD=${MYSQL_PASSWORD}
    depends_on:
      - db

  db:
    image: mariadb:10.5
    container_name: db
    environment:
      - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
      - MYSQL_DATABASE=${MYSQL_DATABASE}
      - MYSQL_USER=${MYSQL_USER}
      - MYSQL_PASSWORD=${MYSQL_PASSWORD}
    volumes:
      - db_data:/var/lib/mysql

volumes:
  glpi_data:
  db_data:
⁠3. Start the containers
docker-compose up -d

Once started, open your browser and navigate to:

http://localhost:8081

Or use your server’s IP address instead of localhost.


β πŸ”§ Environment Variables Explained

VariableDescription
MYSQL_HOSTHostname of the database container or service. Usually db.
MYSQL_DATABASEName of the GLPI database to create and use.
MYSQL_USERDatabase user with access to the GLPI database.
MYSQL_PASSWORDPassword for the database user.
MYSQL_ROOT_PASSWORDRoot password for MariaDB (used only for initial setup).
GLPI_PORTPort on the host where GLPI will be accessible.

⁠🧼 Cleanup

To stop and remove all services and volumes:

docker-compose down -v

To restart from scratch:

docker-compose up -d

β πŸ” Notes on Security

  • session.cookie_httponly=On and session.use_strict_mode=On are enabled to enhance session security.
  • All required PHP extensions including opcache and exif are installed to improve performance and media handling.
  • For production deployments, it is recommended to serve behind an HTTPS reverse proxy (e.g., Traefik or NGINX).
  • ⚠️ By default, Apache serves from /var/www/html. If you wish to restrict access to non-public files, consider setting DocumentRoot to /var/www/html/public.

β πŸ“š Resources

Tag summary

Content type

Image

Digest

sha256:f6ec999bf…

Size

351.8 MB

Last updated

over 1 year ago

docker pull miguerubsk/glpi-arm64