jums a3b10d2674 gitignore: add certbot folder
to untrack the autogenerated certbot config folder, created when running certonly
2025-02-28 11:42:48 +01:00
2024-07-17 18:21:13 +02:00
2025-02-28 11:42:48 +01:00
2025-02-28 11:42:48 +01:00
2025-02-28 11:42:48 +01:00

Inventaire Suite

The Inventaire Suite is a containerized, production-ready Inventaire system that allows you to self-host a knowledge graph similar to inventaire.io.

It is composed of several services:

  • Inventaire: a Docker image packaging:
    • the Inventaire server, which comes with its embedded database: LevelDB
    • the Inventaire client
  • CouchDB: the primary database used by the Inventaire server
  • Elasticsearch: a secondary database used by Inventaire for text and geographic search features
  • Nginx: a reverse proxy with TLS termination thank to Let's Encrypt certbot.

The service orchestration is implemented using Docker Compose.

🔧 This document is for people wanting to self-host the full Inventaire Suite. If you are looking for the individual Inventaire image, head over to hub.docker.com/r/inventaire/inventaire.

💡 This document presumes familiarity with basic Linux administration tasks and with Docker and Docker Compose.

Summary

Quickstart

Requirements

Hardware

  • Network connection with a public IP address
  • 4 GB RAM
  • 10 GB free disk space

Software

Domain name

Ignore this section if you are just testing on your local machine

You need a DNS records that resolves to your machine's public IP address

Open ports

Ignore this section if you are just testing on your local machine

Your machine's firewall should let the http ports (80 and 443) open.

Initial setup

Download this repository

git clone https://git.inventaire.io/docker-inventaire.git
cd docker-inventaire

Initial configuration

Copy the dotenv file to .env

cp dotenv .env

and open this new .env file with a text editor to customize the variables (mainly adding your own domain name, and setup a couchdb password)

Generate a TLS certificate

Ignore this section if you are just testing on your local machine

Generate the first TLS certificate with Let's Encrypt

docker run -it --rm --name certbot -p 80:80 -v "$(pwd)/certbot/conf:/etc/letsencrypt" certbot/certbot certonly --standalone

Usage

Start all the services (Nginx, CouchDB, Elasticsearch, and the Inventaire server) in production mode:

docker compose up -d

Alternatively, to test locally, you can start only Inventaire and its dependencies (CouchDB and Elasticsearch) without Nginx, with the following command:

docker compose up inventaire

Tips

General tips on how to run Inventaire can be found in the server repository docs.

Troubleshooting

Elasticsearch errors

  • max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]: fix by running the command sudo sysctl -w vm.max_map_count=262144 on your host machine

See also Elasticsearch with Docker

Description
Inventaire Docker Compose (fork for Coolify)
Readme 137 KiB
Languages
Shell 100%