Commencer

Installez Antimatter sur votre propre serveur

Un fichier, trois commandes, une dizaine de minutes : Antimatter avec sa base de données, son stockage de fichiers et son service de GIF, sur n’importe quel serveur Linux équipé de Docker.

Opérationnel en dix minutes

Il vous faut un serveur Linux avec Docker et son plugin Compose, au moins 2 cœurs de processeur et 4 Go de mémoire.

1. Téléchargez le fichier Compose

$ mkdir antimatter && cd antimatter
$ curl -fsSLO https://antimatter.chat/compose.yaml

2. Créez sa configuration, avec des mots de passe aléatoires

$ cat > .env <<EOF
SITE_URL=http://localhost:8065
POSTGRES_PASSWORD=$(openssl rand -hex 24)
S3_SECRET_KEY=$(openssl rand -hex 24)
GIFS_API_KEY=$(openssl rand -hex 24)
EOF

Renseignez dans SITE_URL l’adresse que les utilisateurs saisiront, par exemple http://192.168.1.20:8065 sur un réseau local.

3. Démarrez-le

$ docker compose up -d

Le premier démarrage prend une minute ou deux, le temps de créer la base de données. Ouvrez ensuite SITE_URL dans votre navigateur et créez votre compte : le premier compte devient administrateur système, et l’assistant de configuration vous guide dans la création de votre première communauté.

Avec votre propre domaine et HTTPS

Faites pointer un enregistrement DNS de votre domaine vers le serveur, ouvrez les ports 80 et 443, puis ajoutez le domaine à .env :

$ cat >> .env <<EOF
DOMAIN=chat.example.com
EOF
$ sed -i 's|^SITE_URL=.*|SITE_URL=https://chat.example.com|' .env
$ docker compose --profile https up -d

Caddy obtient un certificat auprès de Let's Encrypt et le renouvelle automatiquement.

Ce qui tourne

  • antimatter : le serveur, avec ses applications (notes, tableaux blancs, canaux vocaux, appels, sondages et les autres). Il ne stocke rien sur disque : sa configuration se trouve dans la base de données et ses fichiers dans le service de stockage, de sorte que le conteneur peut être remplacé à tout moment.
  • postgres : la base de données.
  • files : RustFS, un stockage compatible S3 pour les fichiers envoyés.
  • gifs : le service de GIF et de stickers d’Antimatter, avec un pack de stickers pour démarrer.
  • https : Caddy, uniquement avec le profil https.

La base de données, le stockage et le service de GIF se trouvent sur un réseau privé auquel seul Antimatter a accès.

Si le sélecteur de GIF reste vide, ouvrez Console système › Plugins › GIF, puis indiquez http://gifs:8080/v2 comme URL du service et la valeur GIFS_API_KEY de votre .env comme clé d’API.

Mises à jour et sauvegardes

# mettre à jour vers les dernières images
$ docker compose pull && docker compose up -d
# sauvegarder la base de données
$ docker compose exec postgres pg_dump -U antimatter antimatter > antimatter.sql

Sauvegardez aussi le volume files, ou répliquez le stockage avec n’importe quel outil S3. Pour une installation avec nginx et vos propres certificats, consultez les fichiers de production dans antimatter-docker.

Avec une archive de version

  1. Créez une base de données PostgreSQL et un utilisateur.
  2. Décompressez l’archive (antimatter-<os>-<arch>.tar.gz), par exemple dans /opt/antimatter, et faites pointer SqlSettings.DataSource dans config/config.json (ou la variable d’environnement AM_SQLSETTINGS_DATASOURCE) vers la base de données.
  3. Lancez le serveur avec bin/antimatter, sous un utilisateur non privilégié, puis ouvrez http://localhost:8065. Le premier compte créé devient administrateur système.

bin/amctl permet d’administrer un serveur en cours d’exécution en ligne de commande (bin/amctl --local sur le serveur lui-même, avec ServiceSettings.EnableLocalMode).

Étapes suivantes

  • Appels : ouvrez le port des appels (UDP et TCP 8443 par défaut) pour que l’audio et la vidéo atteignent le serveur.
  • E-mail : configurez SMTP pour les invitations et les notifications.
  • IA : ajoutez un modèle dans les paramètres des agents ; n’importe quelle API compatible OpenAI convient, y compris un serveur que vous hébergez vous-même.
  • Voix et traduction : branchez la transcription des appels, la lecture à voix haute et la traduction automatique sur des modèles de reconnaissance vocale, de synthèse vocale et de traduction que vous hébergez vous-même.