Sign inSign up

bheisig/idoit

By bheisig

•Updated about 4 years ago

i-doit CMDB

Image
3

100K+

bheisig/idoit repository overview

⁠i-doit Docker images

Dockerized i-doit CMDB⁠

Stars Pulls Image size Build status

⁠Not production-ready!

The provided Docker images aren't production-ready. Please do not rely on them. They come "as is" with no warranty of any kind. They are not an official product by synetics GmbH. Because of this, we can't provide you any support.

At the moment, we use these images for quality tests of i-doit and its add-ons. In the near-future we hope to provide you official i-doit Docker images which are well-tested and production-ready. In the meantime don't hesitate to test these images yourself. We love to get your feedback!⁠

Note: Older branches are not supported anymore but can still be found in the repository.

⁠Quick reference

⁠What is i-doit?

i-doit ("I document IT") is a fully-featured Web application for CMDB (Configuration Management Databases), IT asset management (ITAM) and IT documentation. i-doit is maintained by the company synetics GmbH, located in Düsseldorf/Germany.

⁠How to use this image

Each image is built on the official PHP Docker image. We've got heavily inspired by the well-documented Nextcloud docker image⁠. Thank you!

Run the latest version of i-doit open with PHP 8.0 and FPM:

docker run --name i-doit-fpm -p 9000:9000 bheisig/idoit:1.19-open-php8.0-fpm
⁠Run i-doit with Apache HTTPD (legacy)

Run the latest version of i-doit open with PHP 8.0 and Apache HTTPD 2.4:

docker run --name i-doit-apache -p 80:80 bheisig/idoit:1.19-open-php8.0-apache
⁠Available volumes

Each i-doit container has one default volume containing the complete installation directory: /var/www/html. This directory includes the source code, cache files, uploaded files, installed add-ons, custom translation files, etc.

⁠Run i-doit with Docker Compose

i-doit requires either MariaDB or MySQL as the database backend. For better performance Memcached is highly recommended. There are some examples:

⁠Run i-doit CLI tool

i-doit has its own CLI tool named console.php for long-lasting, recurring tasks in background. You can call any CLI command in the running Docker container, for example:

docker exec -it --user www-data i-doit-fpm php console.php --help
⁠Update i-doit

to be defined

⁠Backup and restore

For a complete backup and restore process you need to consider at least 3 sources:

  1. i-doit installation directory (see section "Available volumes")
  2. System database (default: idoit_system)
  3. Each tenant database (default 1st one: idoit_data)

As you can see in the examples for docker-compose (see section "Run i-doit with Docker Compose") the simplest thing is to backup the named volumes. But for a running instance of MariaDB this is a bad solution because everything stored temporarily in memory won't be backed up. Run mysqldump (for backup) and mysql (for restore) to fetch every bit stored in the databases.

This is a basic example to backup everything in a running environment:

docker exec i-doit-fpm /bin/tar cvf - . | gzip -9 > backup.tar.gz
docker exec i-doit-fpm /usr/bin/mysqldump -uidoit -pidoit --all-databases | gzip -9 > backup.sql.gz

This is a basic example to restore those backups:

cat backup.tar.gz | docker exec --interactive --user www-data i-doit-fpm /bin/tar xzvf -
gunzip < backup.sql.gz | docker exec --interactive i-doit-fpm /usr/bin/mysql -uidoit -pidoit

Don't forget to alter the commands above to your needs.

⁠Add a subscription license

Copy the file to the running i-doit container and import the file with the i-doit CLI tool:

docker cp license.txt i-doit-fpm:/tmp/
docker exec --interactive --user www-data i-doit-fpm php \
    console.php license-add \
    --user admin --password admin --no-interaction --license /tmp/license.txt
⁠Move your CMDB data to a container

The next example assumes that i-doit is installed on the same host as the running i-doit container:

cd /var/www/html/
tar czvf - . | docker exec --interactive --user www-data i-doit-fpm /bin/tar xzvf -
mysqldump -uidoit -pidoit --all-databases | \
    docker exec --interactive i-doit-fpm /usr/bin/mysql -uidoit -pidoit
⁠TLS/HTTPS

We strongly recommend to access i-doit in a productive environment via TLS/HTTPS. Consider to use a load balancer or reverse proxy because the provided images are unable to handle TLS/HTTPS connections themselves.

⁠Image variants

<version>-<edition>-<php>-<service>

  • <version>: Which version of i-doit do you like to run?
  • <edition>: Which edition of i-doit do you like to run? Select open for community edition (Free Software) and pro for professional edition (proprietary).
  • <php>: Which version of PHP⁠ do you like to run?
  • <service>: Decide to run i-doit either with Apache HTTPD⁠ or PHP-FPM⁠

Copyright (C) 2019-2022 synetics GmbH⁠

Licensed under the GNU Affero GPL version 3 or later (AGPLv3+)⁠

Tag summary

Content type

Image

Digest

sha256:0f5906b9c…

Size

195.8 MB

Last updated

about 4 years ago

docker pull bheisig/idoit:1.19-open-php8.0-fpm