4.2 KiB
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:
- 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
- Docker >= v22.0
- Docker compose >= v2
- git
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 commandsudo sysctl -w vm.max_map_count=262144on your host machine
See also Elasticsearch with Docker