Empezar

Instala Antimatter en tu propio servidor

Un archivo, tres comandos y unos diez minutos: Antimatter con su base de datos, su almacenamiento de archivos y su servicio de GIFs, en cualquier servidor Linux con Docker.

En marcha en diez minutos

Necesitas un servidor Linux con Docker y su plugin Compose, 2 núcleos de CPU y al menos 4 GB de memoria.

1. Descarga el archivo compose

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

2. Crea su configuración, con contraseñas aleatorias

$ 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

Asigna a SITE_URL la dirección con la que accederán los usuarios, por ejemplo http://192.168.1.20:8065 en una red local.

3. Inícialo

$ docker compose up -d

El primer arranque tarda uno o dos minutos mientras se crea la base de datos. Después, abre SITE_URL en el navegador y crea tu cuenta: la primera cuenta pasa a ser la del administrador del sistema, y el asistente de configuración te guía para crear tu primera comunidad.

Con tu propio dominio y HTTPS

Apunta un registro DNS de tu dominio al servidor, abre los puertos 80 y 443, y agrega el dominio a .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 obtiene un certificado de Let's Encrypt y lo renueva automáticamente.

Qué se ejecuta

  • antimatter: el servidor, con sus apps (notas, pizarras, canales de voz, llamadas, encuestas y las demás). No guarda nada en disco: su configuración está en la base de datos y sus archivos en el servicio de almacenamiento, así que el contenedor se puede reemplazar en cualquier momento.
  • postgres: la base de datos.
  • files: RustFS, almacenamiento compatible con S3 para los archivos subidos.
  • gifs: el servicio de GIFs y stickers de Antimatter, con un paquete de stickers inicial.
  • https: Caddy, solo con el perfil https.

La base de datos, el almacenamiento y el servicio de GIFs están en una red privada a la que solo accede Antimatter.

Si el selector de GIFs aparece vacío, abre Consola de sistema › Plugins › GIFs y establece la URL del servicio en http://gifs:8080/v2 y la clave de API en el valor de GIFS_API_KEY de tu archivo .env.

Actualizaciones y copias de seguridad

# actualizar a las imágenes más recientes
$ docker compose pull && docker compose up -d
# hacer una copia de seguridad de la base de datos
$ docker compose exec postgres pg_dump -U antimatter antimatter > antimatter.sql

Haz también una copia de seguridad del volumen files, o replica el almacenamiento con cualquier herramienta de S3. Para una instalación con nginx y tus propios certificados, consulta los archivos de producción en antimatter-docker.

Con un paquete de versión

  1. Prepara una base de datos y un usuario de PostgreSQL.
  2. Descomprime el paquete (antimatter-<os>-<arch>.tar.gz), por ejemplo en /opt/antimatter, y apunta SqlSettings.DataSource en config/config.json (o la variable de entorno AM_SQLSETTINGS_DATASOURCE) a la base de datos.
  3. Inicia el servidor con bin/antimatter, con un usuario sin privilegios, y abre http://localhost:8065. La primera cuenta que se cree será la del administrador del sistema.

bin/amctl administra un servidor en ejecución desde la línea de comandos (bin/amctl --local en el propio servidor, con ServiceSettings.EnableLocalMode).

Próximos pasos

  • Llamadas: abre el puerto de llamadas (8443 UDP y TCP de forma predeterminada) para que la voz y el video lleguen al servidor.
  • Correo electrónico: configura SMTP para las invitaciones y las notificaciones.
  • IA: agrega un modelo en la configuración de los agentes; funciona cualquier API compatible con OpenAI, incluido un servidor que gestiones tú mismo.
  • Voz y traducción: conecta la transcripción de llamadas, la lectura en voz alta y la traducción automática a modelos de reconocimiento de voz, de síntesis de voz y de traducción que gestiones tú mismo.