@ -7,7 +7,7 @@ variables:
|
||||
DOCKER_IMAGE_PUBLISH_NAME: 'docker-glpi'
|
||||
DOCKER_IMAGE_PUBLISH_REGISTRY: docker.io/nofusscomputing
|
||||
DOCKER_IMAGE_PUBLISH_URL: https://hub.docker.com/r/nofusscomputing/$DOCKER_IMAGE_PUBLISH_NAME
|
||||
PAGES_ENVIRONMENT_PATH: projects/docker_glpi/
|
||||
PAGES_ENVIRONMENT_PATH: projects/glpi/
|
||||
|
||||
include:
|
||||
- project: nofusscomputing/projects/gitlab-ci
|
||||
|
4
.gitmodules
vendored
4
.gitmodules
vendored
@ -2,3 +2,7 @@
|
||||
path = gitlab-ci
|
||||
url = https://gitlab.com/nofusscomputing/projects/gitlab-ci.git
|
||||
branch = development
|
||||
[submodule "website-template"]
|
||||
path = website-template
|
||||
url = https://gitlab.com/nofusscomputing/infrastructure/website-template.git
|
||||
branch = development
|
||||
|
0
docs/articles/index.md
Normal file
0
docs/articles/index.md
Normal file
0
docs/contact.md
Normal file
0
docs/contact.md
Normal file
0
docs/index.md
Normal file
0
docs/index.md
Normal file
0
docs/operations/index.md
Normal file
0
docs/operations/index.md
Normal file
79
docs/projects/glpi/index.md
Normal file
79
docs/projects/glpi/index.md
Normal file
@ -0,0 +1,79 @@
|
||||
---
|
||||
title: Dockerized GLPI
|
||||
description: How to use No Fuss Computings docker container GLPI.
|
||||
date: 2023-08-29
|
||||
template: project.html
|
||||
about: https://gitlab.com/nofusscomputing/projects/ansible/docker-glpi
|
||||
---
|
||||
|
||||
This docker container contains GLPI and is intended to be production ready and requires minimal configuration to use.
|
||||
|
||||
!!! info
|
||||
**TLDR** The docker container is available on dockerhub. `docker pull nofusscomputing/docker-glpi:dev`
|
||||
|
||||
This container is designed to be ephemeral with all data residing within docker volumes. Outside of this container, the only reqirements is hard disk space and a MySQL/MariaDB database.
|
||||
|
||||
|
||||
## Features
|
||||
|
||||
To see a full list of changes/features see the [changelog](https://gitlab.com/nofusscomputing/projects/docker-glpi/-/blob/development/CHANGELOG.md).
|
||||
|
||||
- Data Volumes for _(relative paths are for glpi www root, `/var/www/html`)_
|
||||
|
||||
- `config/`
|
||||
|
||||
- `data/`
|
||||
|
||||
- `files/`
|
||||
|
||||
- `plugins/`
|
||||
|
||||
- `marketplace/`
|
||||
|
||||
- `/var/log/`
|
||||
|
||||
- Inventory endpoints only available with use of feature flag
|
||||
|
||||
- Container health check reports for all services (apache, cron, supervisord)
|
||||
|
||||
- GLPI cron script scheduled within container cron. _See notes below._
|
||||
|
||||
- GLPI WWW root setup under `public/`
|
||||
|
||||
|
||||
## Inventory
|
||||
|
||||
It is posssible to use the inventory features available within GLPI, however by default access to the endpoints is disabled and behind a feature flag.The image by default will return HTTP/404 for the following paths:
|
||||
|
||||
- `plugins/fusioninventory/` fusioninventory
|
||||
|
||||
- `front/inventory.php` Native (non-GlpiInventory plugin)
|
||||
|
||||
- `marketplace/glpiinventory/` GlpiInventory plugin (Marketplace installed)
|
||||
|
||||
- `plugins/glpiinventory/` GlpiInventory plugin (plugin folder installed)
|
||||
|
||||
To enable an inventory endpoint, using the values above, set environmental variable `GLPI_INVENTORY_PATH` when launching the container. i.e. to use GLPI native inventory `GLPI_INVENTORY_PATH=front/inventory.php`. on launching the container with this variable set, that endpoint is available for use for the inventory feature of GLPI.
|
||||
|
||||
!!! tip
|
||||
when using either `marketplace/glpiinventory/` or `plugins/glpiinventory/` as the inventory path you are required to prepend `index.php` to the end of the `server` directive in `agent.cfg`. i.e. `server = https://my-glpi-server/plugins/glpiinventory/index.php`
|
||||
|
||||
!!! warning
|
||||
It is strongly advised that when using the inventory features of GLPI, that the endpoints be configured for client authentication.
|
||||
|
||||
|
||||
### Clinet Authentication
|
||||
|
||||
Due to the limitations of the inventory agents, mTLS is not available so HTTP Basic Authentication is configurable. by default, when you set the environmental variable `GLPI_INVENTORY_PATH` HTTP basic auth is enabled by default. To configure the users follow these steps:
|
||||
|
||||
1. run command from within the container `htpasswd -c /apache-passwd-glpi-inventory {Username to create}`
|
||||
|
||||
1. enter the password and confirm when prompted
|
||||
|
||||
1. configure the `user` and `password` entries in the `agent.cfg` file.
|
||||
|
||||
!!! tip
|
||||
Ensure you limit the permissions on the `agent.cfg` file as it contains a password in clear text. Only the user the agent is run as requires access and you are encouraged to limit to that user only.
|
||||
|
||||
!!! warning
|
||||
HTTP Basic authentication is inherently insecure. to overcome this shortfall, ONLY use HTTP Basic Auth over a secure connection _(https)_.
|
0
docs/projects/index.md
Normal file
0
docs/projects/index.md
Normal file
0
docs/tags.md
Normal file
0
docs/tags.md
Normal file
87
docs/task-doc-template.md
Normal file
87
docs/task-doc-template.md
Normal file
@ -0,0 +1,87 @@
|
||||
|
||||
|
||||
short summary of the task file
|
||||
|
||||
## {Task Name}
|
||||
|
||||
- **Name**:
|
||||
|
||||
- **Description**:
|
||||
|
||||
- **Module**:
|
||||
|
||||
- **Arguments**:
|
||||
|
||||
-
|
||||
|
||||
- **Conditional**:
|
||||
|
||||
- **Tags**:
|
||||
|
||||
-
|
||||
|
||||
## {Task Name}
|
||||
|
||||
- **Name**:
|
||||
|
||||
- **Description**:
|
||||
|
||||
- **Module**:
|
||||
|
||||
- **Arguments**:
|
||||
|
||||
-
|
||||
|
||||
- **Registers**:
|
||||
|
||||
- **Conditional**:
|
||||
|
||||
- **Tags**:
|
||||
|
||||
-
|
||||
|
||||
|
||||
## Variables
|
||||
|
||||
The following variables can be customized in this task file:
|
||||
|
||||
```yaml
|
||||
variable_name: "default_value"
|
||||
```
|
||||
|
||||
- `variable_name`: Description of the variable.
|
||||
|
||||
## Tags
|
||||
|
||||
The tasks in this task file are tagged with the following tags:
|
||||
|
||||
-
|
||||
|
||||
## Usage
|
||||
|
||||
To use this Ansible task file, you can include it in your playbook or role and provide values for the required variables. Here's an example of how you can use this task file:
|
||||
|
||||
1. Create a playbook (e.g., `your_playbook.yaml`) and define the necessary variables:
|
||||
|
||||
```yaml
|
||||
---
|
||||
|
||||
- hosts: your_hosts
|
||||
vars:
|
||||
variable_name: "value"
|
||||
|
||||
tasks:
|
||||
- include_tasks: path/to/task_file.yaml
|
||||
```
|
||||
|
||||
2. Create a separate file for the task file (e.g., `task_file.yaml`) and copy the content of the task file into it.
|
||||
|
||||
3. Run the playbook:
|
||||
|
||||
```shell
|
||||
ansible-playbook your_playbook.yaml
|
||||
```
|
||||
|
||||
Make sure to replace the placeholder values (`variable_name`, `value`) with the appropriate values for your setup.
|
||||
|
||||
Note: You may need to adjust the playbook structure and additional tasks based on your specific requirements and the tasks you want to execute.
|
30
mkdocs.yml
Normal file
30
mkdocs.yml
Normal file
@ -0,0 +1,30 @@
|
||||
INHERIT: website-template/mkdocs.yml
|
||||
|
||||
docs_dir: 'docs'
|
||||
|
||||
repo_name: Docker GLPI
|
||||
repo_url: https://gitlab.com/nofusscomputing/projects/docker-glpi
|
||||
edit_uri: '/-/ide/project/nofusscomputing/projects/docker-glpi/edit/development/-/docs/'
|
||||
|
||||
nav:
|
||||
- Home: index.md
|
||||
|
||||
- Articles:
|
||||
|
||||
- articles/index.md
|
||||
|
||||
- Projects:
|
||||
|
||||
- projects/index.md
|
||||
|
||||
- GLPI Docker:
|
||||
|
||||
- projects/glpi/index.md
|
||||
|
||||
|
||||
- Operations:
|
||||
|
||||
- operations/index.md
|
||||
|
||||
- Contact Us: contact.md
|
||||
|
1
website-template
Submodule
1
website-template
Submodule
Submodule website-template added at 992b54805b
Reference in New Issue
Block a user