{"id":13556489,"url":"https://github.com/inventaire/docker-inventaire","last_synced_at":"2025-04-03T10:30:43.444Z","repository":{"id":54625129,"uuid":"136384438","full_name":"inventaire/docker-inventaire","owner":"inventaire","description":"Inventaire service orchestration using Docker Compose","archived":false,"fork":false,"pushed_at":"2025-03-06T16:22:42.000Z","size":91,"stargazers_count":9,"open_issues_count":2,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-06T17:30:37.873Z","etag":null,"topics":["docker","docker-compose","inventaire"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inventaire.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"liberapay":"Association_Inventaire"}},"created_at":"2018-06-06T20:47:54.000Z","updated_at":"2025-03-06T16:22:46.000Z","dependencies_parsed_at":"2025-01-11T11:18:30.866Z","dependency_job_id":"1ffc300f-55b7-4868-b8ba-7fe2b75e0ebc","html_url":"https://github.com/inventaire/docker-inventaire","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inventaire%2Fdocker-inventaire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inventaire%2Fdocker-inventaire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inventaire%2Fdocker-inventaire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inventaire%2Fdocker-inventaire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inventaire","download_url":"https://codeload.github.com/inventaire/docker-inventaire/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246984431,"owners_count":20864441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","inventaire"],"created_at":"2024-08-01T12:03:52.138Z","updated_at":"2025-04-03T10:30:43.433Z","avatar_url":"https://github.com/inventaire.png","language":"Shell","funding_links":["https://liberapay.com/Association_Inventaire"],"categories":["Others","others"],"sub_categories":[],"readme":"# Inventaire Suite\n\nThe Inventaire Suite is a containerized, production-ready Inventaire system that allows you to self-host a knowledge graph similar to [inventaire.io](https://inventaire.io).\n\nIt is composed of several services:\n* **[Inventaire](https://hub.docker.com/r/inventaire/inventaire)**: a Docker image packaging:\n  * the Inventaire [server](https://git.inventaire.io/inventaire/), which comes with its embedded database: LevelDB\n  * the Inventaire [client](https://git.inventaire.io/inventaire-client/)\n* **[CouchDB](https://hub.docker.com/_/couchdb)**: the primary database used by the Inventaire server\n* **[Elasticsearch](https://hub.docker.com/_/elasticsearch)**: a secondary database used by Inventaire for text and geographic search features\n* **[Nginx](https://hub.docker.com/_/nginx)**: a reverse proxy with TLS termination thank to Let's Encrypt [certbot](https://hub.docker.com/r/certbot/certbot).\n\nThe service orchestration is implemented using Docker Compose.\n\n\u003e 🔧 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](https://hub.docker.com/r/inventaire/inventaire).\n\n\u003e 💡 This document presumes familiarity with basic Linux administration tasks and with Docker and Docker Compose.\n\n## Summary\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n- [Quickstart](#quickstart)\n  - [Requirements](#requirements)\n    - [Hardware](#hardware)\n    - [Software](#software)\n    - [Domain name](#domain-name)\n    - [Open ports](#open-ports)\n- [Initial setup](#initial-setup)\n  - [Download this repository](#download-this-repository)\n  - [Initial configuration](#initial-configuration)\n    - [Generate a TLS certificate](#generate-a-tls-certificate)\n- [Usage](#usage)\n- [Update](#update)\n- [Tips](#tips)\n- [Troubleshooting](#troubleshooting)\n  - [Elasticsearch errors](#elasticsearch-errors)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## Quickstart\n### Requirements\n#### Hardware\n* Network connection with a public IP address\n* 4 GB RAM\n* 10 GB free disk space\n\n#### Software\n* [Docker](https://docs.docker.com/get-started/get-docker/) \u003e= v22.0\n* [Docker compose](https://docs.docker.com/compose/gettingstarted/) \u003e= v2\n* [git](https://git-scm.com/)\n\n#### Domain name\n\u003e Ignore this section if you are just testing on your local machine\n\nYou need a DNS records that resolves to your machine's public IP address\n\n#### Open ports\n\u003e Ignore this section if you are just testing on your local machine\n\nYour machine's firewall should let the http ports (`80` and `443`) open.\n\n## Initial setup\n\n### Download this repository\n```sh\ngit clone https://git.inventaire.io/docker-inventaire.git\ncd docker-inventaire\n```\n\n### Initial configuration\nCopy the `dotenv` file to `.env`\n```sh\ncp dotenv .env\n```\nand open this new `.env` file with a text editor to customize the variables (mainly adding your own domain name, and setup a couchdb password)\n\n#### Generate a TLS certificate\n\u003e Ignore this section if you are just testing on your local machine\n\nGenerate the first TLS certificate with Let's Encrypt\n\n```sh\ndocker run -it --rm --name certbot -p 80:80 -v \"$(pwd)/certbot/conf:/etc/letsencrypt\" certbot/certbot certonly --standalone\n```\n\n## Usage\n\nStart all the services (Nginx, CouchDB, Elasticsearch, and the Inventaire [server](https://git.inventaire.io/inventaire)) in production mode:\n```sh\ndocker compose up --detach\n```\n\nAlternatively, to test locally, you can start only Inventaire and its dependencies (CouchDB and Elasticsearch) without Nginx, with the following command:\n```sh\ndocker compose up inventaire\n```\n\n## Update\n\nBefore updating to the latest version, check that there are no breaking changes.\nYou can find your current version number by visiting fetching the URL `/api/config` on your domain (example: https://inventaire.io/api/config).\nYou can find details about the changes since your version on this page: /home/maxlath/code/inventaire/inventaire/CHANGELOG.md.\nFor changes marked to require data transformation, [some knowledge of CouchDB is recommended](https://docs.couchdb.org/en/stable/intro/index.html), as well as familiarizing yourself with the [recommanded way to export, transform and reimport data in CouchDB](https://github.com/inventaire/inventaire/blob/main/docs/administration/couchdb_data_transformations.md).\n\n```sh\ncd docker-inventaire\n# Pull updates to this repository (might include database versions updates, and such)\ngit pull origin main\n# Pull the updated images\ndocker compose pull\n# Stop and remove the previous `inventaire` container\n# Include the `nginx` container and `--volumes` as otherwise the volume shared between the `inventaire` and the `nginx` container keep the files from the previous image\ndocker compose down inventaire nginx --volumes\n# Restart containers with the new image (with the --detach option, to be able to close the terminal)\ndocker compose up --detach\n# Check that it restarted without errors\ndocker compose logs --follow --tail 500 inventaire\n```\n\n## Tips\n\nGeneral tips on how to run Inventaire can be found in the [server repository docs](https://git.inventaire.io/inventaire/tree/main/docs).\n\n## Troubleshooting\n\n### Elasticsearch errors\n\n- `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\n\nSee also [Elasticsearch with Docker](https://www.elastic.co/guide/en/elasticsearch/reference/7.9/docker.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finventaire%2Fdocker-inventaire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finventaire%2Fdocker-inventaire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finventaire%2Fdocker-inventaire/lists"}