Installation guide#
This guide describes the self-hosted installation of i-doit up on a server with Docker and Docker Compose. It covers the path from download through configuration to the first start and also includes integrity verification, update, and uninstall.
Tested with version 3.1.0 on Debian 13 (amd64).
Prerequisites#
| Requirement | Note |
|---|---|
| Linux, macOS, or Windows (WSL) | 64-bit, amd64 or arm64 |
| Docker Engine or Docker Desktop | Version 20 or newer recommended |
| Docker Compose | Bundled with Docker Desktop |
curl | For the download |
tar | For extracting the archive |
gnupg (optional) | For GPG signature verification |
sha256sum (optional) | For checksum verification |
A comfortable setup needs at least 4 CPU cores and 6 GB RAM.
Info
This page describes the self-hosted installation via Docker Compose. If you are setting up the Suite+ bundle (Suite+ including i-doit up), follow the Suite+ guide to setting up i-doit up instead.
Step 1: Find the current version#
Fetch the current release identifier:
1 | |
All available releases in JSON format:
1 | |
Step 2: Download#
Always use the latest version:
1 2 3 | |
To pin a specific version, replace <version> with the desired release number, for example 3.1.0:
1 2 3 | |
Step 3: Verify integrity (recommended)#
We strongly recommend verifying the downloaded archive before installation.
1 2 3 4 5 6 7 8 9 10 11 12 | |
On success you will see:
1 2 | |
Step 4: Configuration#
The archive contains two files. compose.yaml is the Docker Compose definition and must not be modified. .env.dist is the template for all settings.
Create the configuration file:
1 | |
Then open .env in a text editor and set at least the following values.
Required fields#
| Variable | Description | Example |
|---|---|---|
DOCU_APP_URL | Full URL including protocol and port | http://my-server.local:8080/ |
DOCU_ADMIN_USERNAME | Username of the first admin | admin |
DOCU_ADMIN_EMAIL | Email of the first admin | admin@example.com |
DOCU_ADMIN_PASSWORD | Password of the first admin | strong password |
DOCU_APP_SECRET | 32 random hex characters | openssl rand -hex 16 |
DOCU_APP_IDENTIFIER | 8 random hex characters | openssl rand -hex 4 |
MYSQL_ROOT_PASSWORD | Database root password | strong password |
DOCU_DB_PASSWORD | App database password | strong password |
REDIS_PASSWORD | Redis password | strong password |
MONGO_INITDB_ROOT_PASSWORD | MongoDB password | strong password |
DOCU_EVENTS_PASSWORD | Must match MONGO_INITDB_ROOT_PASSWORD |
Generate random values for DOCU_APP_SECRET and DOCU_APP_IDENTIFIER:
1 2 | |
HTTPS note#
When running i-doit up over HTTP (no TLS), the following must be set additionally:
1 | |
When running over HTTPS (recommended for production), the default value On stays in place.
License#
If a license token is available, set it in .env:
1 | |
Step 5: Start#
1 | |
Docker pulls every required image and starts the containers. The process takes 1 to 5 minutes depending on bandwidth.
Check the container status:
1 | |
Once every container shows (healthy), i-doit up is ready:
1 2 3 4 5 6 | |
The UI is then reachable at the address configured in DOCU_APP_URL.
Update#
- Download and extract a new archive (repeat Step 2 and optionally Step 3).
- Change into the directory of the new
compose.yaml. - Copy the existing
.envinto the new directory. - Update the containers:
1 2 | |
Uninstall#
1 | |
Warning
--volumes deletes all data irreversibly.
Quick-start checklist#
- [ ] Docker and Docker Compose installed
- [ ] Tarball downloaded and extracted
- [ ] Optional: integrity verified (sha256 and GPG)
- [ ]
.env.distcopied to.env - [ ]
DOCU_APP_URLset - [ ] Admin credentials set
- [ ] All
changemepasswords replaced - [ ]
DOCU_APP_SECRET(32 hex) andDOCU_APP_IDENTIFIER(8 hex) set - [ ] If on HTTP:
DOCU_SESSION_COOKIE_SECURE=Offset - [ ]
docker compose up -dexecuted - [ ] All containers
(healthy), open the browser
Further readings#
- Subscription, billing, and upgrade
- User management
- Rights and permissions
- Suite+ guide to setting up i-doit up: installation as part of the Suite+ bundle.