diff --git a/.env b/.env new file mode 100644 index 0000000..81c3ff0 --- /dev/null +++ b/.env @@ -0,0 +1,15 @@ +MARIADB_HOST="some-mariadb" +MARIADB_PORT="3306" +MARIADB_USER="glpi-user" +MARIADB_PASSWORD="glpi-password" +MARIADB_ROOT_PASSWORD="root-password" +MARIADB_DATABASE="glpi" +MYSQL_HOST="some-mariadb" +MYSQL_PORT="3306" +MYSQL_USER="glpi-user" +MYSQL_PASSWORD="glpi-password" +MYSQL_ROOT_PASSWORD="root-password" +MYSQL_DATABASE="glpi" +APP_VER="latest" +LANG="en_GB" +TZ="America/Barbados" diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..f22d210 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,59 @@ +version: "3.2" + +volumes: + mysql-dir: + glpi-config: + glpi-files: + glpi-plugins: + glpi-marketplace: + +services: + some-mariadb: + env_file: .env + image: 'mariadb:latest' + ports: + - '3306:3306' + networks: + - some-network + volumes: + - "mysql-dir:/var/lib/mysql" + healthcheck: + test: "/usr/bin/mariadb --user=\"${MARIADB_USER}\" --password=\"${MARIADB_PASSWORD}\" --execute \"SHOW DATABASES;\" \"${MARIADB_DATABASE}\"" + start_period: 1m + start_interval: 10s + interval: 1m + timeout: 5s + retries: 3 + + some-glpi: + env_file: .env + image: "ppcm/glpi-server:${APP_VER}" + ports: + - '8089:80' + networks: + - some-network + depends_on: + some-mariadb: + condition: service_healthy + volumes: + - "glpi-config:/etc/glpi" + - "glpi-files:/var/glpi/files" + - "glpi-plugins:/var/www/glpi/plugins" + - "glpi-marketplace:/var/www/glpi/marketplace" + + some-glpi-cron: + env_file: .env + image: "ppcm/glpi-cron-daemon:${APP_VER}" + networks: + - some-network + depends_on: + - some-glpi + volumes: + - "glpi-config:/etc/glpi" + - "glpi-files:/var/glpi/files" + - "glpi-plugins:/var/www/glpi/plugins" + - "glpi-marketplace:/var/www/glpi/marketplace" + +networks: + some-network: + name: some-network