Rode o Antimatter no seu próprio servidor
Um arquivo, três comandos, cerca de dez minutos: o Antimatter com o banco de dados, o armazenamento de arquivos e o serviço de GIFs, em qualquer servidor Linux com Docker.
Funcionando em dez minutos
Você precisa de um servidor Linux com o Docker e o plugin Compose, 2 núcleos de CPU e pelo menos 4 GB de memória.
1. Baixe o arquivo compose
$ curl -fsSLO https://antimatter.chat/compose.yaml
2. Crie as configurações, com senhas aleatórias
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, como http://192.168.1.20:8065 em uma rede local.
3. Inicie
A primeira inicialização leva um ou dois minutos, enquanto o banco de dados é criado. Depois, abra o SITE_URL no navegador e crie a sua conta: a primeira conta se torna a administradora do sistema, e a configuração inicial guia você na criação da sua primeira comunidade.
Com o seu próprio domínio e HTTPS
Aponte um registro DNS do seu domínio para o servidor, abra as portas 80 e 443 e adicione o domínio ao .env:
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 do Let's Encrypt e o renova automaticamente.
O que fica rodando
- antimatter: o servidor, com os seus apps (notas, quadros brancos, canais de voz, chamadas, enquetes e os demais). Ele não guarda nada em disco: as configurações ficam no banco de dados e os arquivos no serviço de armazenamento, então o contêiner pode ser substituído a qualquer momento.
- postgres: o banco de dados.
- files: RustFS, armazenamento compatível com S3 para os arquivos enviados.
- gifs: o serviço de GIFs e figurinhas do Antimatter, com um pacote inicial de figurinhas.
- https: Caddy, apenas com o perfil
https.
O banco de dados, o armazenamento e o serviço de GIFs ficam em uma rede privada que só o Antimatter alcança.
http://gifs:8080/v2 e a chave de API como o GIFS_API_KEY do seu .env.Atualizações e backups
$ docker compose pull && docker compose up -d
# fazer backup do banco de dados
$ docker compose exec postgres pg_dump -U antimatter antimatter > antimatter.sql
Faça backup também do volume files, ou replique o armazenamento com qualquer ferramenta S3. Para uma instalação com nginx e os seus próprios certificados, veja os arquivos de produção em antimatter-docker.
Com um pacote de release
- Crie um banco de dados e um usuário no PostgreSQL.
- Descompacte o pacote (
antimatter-<os>-<arch>.tar.gz), por exemplo em/opt/antimatter, e aponteSqlSettings.DataSourceemconfig/config.json(ou a variável de ambienteAM_SQLSETTINGS_DATASOURCE) para o banco de dados. - Inicie o servidor com
bin/antimatter, como um usuário sem privilégios, e abrahttp://localhost:8065. A primeira conta criada se torna a administradora do sistema.
O bin/amctl gerencia um servidor em execução pela linha de comando (bin/amctl --local no próprio servidor, com ServiceSettings.EnableLocalMode).
Próximos passos
- Chamadas: abra a porta das chamadas (UDP e TCP 8443, por padrão) para que o áudio e o vídeo cheguem ao servidor.
- E-mail: configure o SMTP para convites e notificações.
- IA: adicione um modelo nas configurações de Agentes; qualquer API compatível com a OpenAI funciona, inclusive um servidor que você mesmo rode.
- Voz e tradução: aponte a transcrição de chamadas, a leitura em voz alta e a tradução automática para modelos de conversão de fala em texto, de texto em fala e de tradução que você mesmo rode.