← Retour

Installation auto-hébergée

Domino tourne sur vos propres serveurs en deux conteneurs Docker : l'application elle-même et Caddy pour le HTTPS automatique. Version actuelle : 1.0.13-beta.

1 Prérequis

  • Une VM Linux avec Docker 24+ et le plugin docker compose v2
  • Au moins 4 vCPU et 8 Go de RAM (le modèle NER tient en ~600 Mo résidents)
  • Un nom de domaine pointant vers la VM (ex. domino.votre-entreprise.com)
  • Les ports 80 et 443 ouverts (Caddy émet le certificat Let's Encrypt)
  • Un relais SMTP (corporate Office 365 / Google Workspace, ou Postmark / Resend / SES) — nécessaire pour les liens de connexion par e-mail

2 Créer un dossier d'installation

mkdir domino && cd domino

3 docker-compose.yml

Téléchargez le fichier ou copiez le contenu ci-dessous.

services:
  app:
    image: ghcr.io/relkondo/domino:1.0.13-beta
    restart: unless-stopped
    expose:
      - "8741"
    env_file:
      - .env
    volumes:
      - domino-data:/data
    networks:
      - domino-net
    healthcheck:
      test: ["CMD", "curl", "-fsS", "http://127.0.0.1:8741/health"]
      interval: 30s
      timeout: 5s
      start_period: 180s
      retries: 3

  caddy:
    image: caddy:2-alpine
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    env_file:
      - .env
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - caddy-data:/data
      - caddy-config:/config
    networks:
      - domino-net
    depends_on:
      - app

volumes:
  domino-data:
  caddy-data:
  caddy-config:

networks:
  domino-net:

4 Caddyfile

{$DOMAIN} {
	reverse_proxy app:8741

	encode gzip zstd

	request_body {
		max_size 100MB
	}

	@spa_assets path /_app/* /favicon.* /icons/*
	header @spa_assets Cache-Control "public, max-age=31536000, immutable"

	@spa_index path /
	header @spa_index Cache-Control "no-cache, must-revalidate"

	log {
		output stdout
		format json
	}
}

5 Fichier .env

Générez la clé secrète avec openssl rand -hex 32 et remplissez les paramètres SMTP de votre relais.

# Required
DOMAIN=domino.your-company.com
DOMINO_SECRET_KEY=         # openssl rand -hex 32

# Web mode & cookies
DOMINO_WEB_MODE=1
DOMINO_FRONTEND_URL=https://domino.your-company.com
DOMINO_COOKIE_SECURE=1
DOMINO_SESSION_MAX_AGE=7776000
DOMINO_MAGIC_LINK_MAX_AGE=900

# SMTP — corporate relay or transactional ESP (Postmark, Resend, SES…)
DOMINO_SMTP_HOST=smtp.office365.com
DOMINO_SMTP_PORT=587
DOMINO_SMTP_USER=domino@your-company.com
DOMINO_SMTP_PASS=
DOMINO_SMTP_FROM=Domino <domino@your-company.com>
DOMINO_SMTP_TLS=1

6 Démarrer la stack

docker compose up -d

Le premier démarrage prend ~30 secondes (chargement du modèle NER). Suivez les logs avec docker compose logs -f app. Ouvrez ensuite https://{DOMAIN} et connectez-vous par lien magique.

7 Mise à jour

docker compose pull && docker compose up -d

Le volume domino-data conserve les utilisateurs, sessions et documents entre les versions.

Besoin d'aide ?

Pour un accompagnement à l'installation ou des questions de conformité, écrivez-nous à contact@domino-ai.app.