Começar

Instale o Antimatter no seu próprio servidor

Um ficheiro, três comandos, cerca de dez minutos: o Antimatter com a base de dados, o armazenamento de ficheiros e o serviço de GIFs, em qualquer servidor Linux com Docker.

Pronto a funcionar em dez minutos

Precisa de um servidor Linux com o Docker e o respetivo plugin Compose, com 2 núcleos de CPU e 4 GB de memória ou mais.

1. Descarregue o ficheiro compose

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

2. Crie as definições, com palavras-passe aleatórias

$ 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

Defina SITE_URL com o endereço que as pessoas vão usar, por exemplo http://192.168.1.20:8065 numa rede local.

3. Inicie-o

$ docker compose up -d

O primeiro arranque demora um ou dois minutos, enquanto a base de dados é criada. Depois, abra o SITE_URL no browser e crie a sua conta: a primeira conta passa a ser a de administrador do sistema, e a configuração inicial guia-o na criação da sua primeira comunidade.

Com o seu próprio domínio e HTTPS

Aponte um registo DNS do seu domínio para o servidor, abra as portas 80 e 443 e acrescente o domínio ao .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

O Caddy obtém um certificado da Let's Encrypt e renova-o automaticamente.

O que fica a correr

  • antimatter: o servidor, com as respetivas aplicações (notas, quadros brancos, canais de voz, chamadas, sondagens e as restantes). Não guarda nada no disco: as definições ficam na base de dados e os ficheiros no serviço de armazenamento, pelo que o contentor pode ser substituído a qualquer momento.
  • postgres: a base de dados.
  • files: RustFS, armazenamento compatível com S3 para os ficheiros carregados.
  • gifs: o serviço de GIFs e autocolantes do Antimatter, com um pacote inicial de autocolantes.
  • https: Caddy, apenas com o perfil https.

A base de dados, o armazenamento e o serviço de GIFs ficam numa rede privada à qual só o Antimatter tem acesso.

Se o seletor de GIFs ficar vazio, abra Consola do sistema › Plugins › GIFs e defina o URL do serviço como http://gifs:8080/v2 e a chave da API como o valor de GIFS_API_KEY do seu .env.

Atualizações e cópias de segurança

# atualizar para as imagens mais recentes
$ docker compose pull && docker compose up -d
# fazer uma cópia de segurança da base de dados
$ docker compose exec postgres pg_dump -U antimatter antimatter > antimatter.sql

Faça também uma cópia de segurança do volume files, ou replique o armazenamento com qualquer ferramenta S3. Para uma instalação com nginx e os seus próprios certificados, consulte os ficheiros de produção em antimatter-docker.

Com um arquivo de versão

  1. Prepare uma base de dados e um utilizador PostgreSQL.
  2. Extraia o arquivo (antimatter-<os>-<arch>.tar.gz), por exemplo para /opt/antimatter, e aponte SqlSettings.DataSource em config/config.json (ou a variável de ambiente AM_SQLSETTINGS_DATASOURCE) para a base de dados.
  3. Inicie o servidor com bin/antimatter, com um utilizador sem privilégios, e abra http://localhost:8065. A primeira conta criada passa a ser a de administrador do sistema.

O bin/amctl permite gerir um servidor em execução a partir da linha de comandos (bin/amctl --local no próprio servidor, com ServiceSettings.EnableLocalMode).

Próximos passos

  • Chamadas: abra a porta das chamadas (UDP e TCP 8443, por predefinição) para que a voz e o vídeo cheguem ao servidor.
  • E-mail: configure o SMTP para os convites e as notificações.
  • IA: adicione um modelo nas definições dos Agentes; serve qualquer API compatível com a OpenAI, incluindo a de um servidor alojado por si.
  • Voz e tradução: aponte a transcrição de chamadas, a leitura em voz alta e a tradução automática para modelos de voz para texto, de texto para voz e de tradução alojados por si.