Bắt đầu

Chạy Antimatter trên máy chủ của riêng bạn

Một tệp, ba lệnh, khoảng mười phút: Antimatter cùng cơ sở dữ liệu, kho lưu trữ tệp và dịch vụ GIF của nó, trên bất kỳ máy chủ Linux nào có Docker.

Sẵn sàng hoạt động trong mười phút

Bạn cần một máy chủ Linux có Docker cùng plugin Compose, tối thiểu 2 nhân CPU và 4 GB bộ nhớ.

1. Tải tệp compose

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

2. Tạo tệp cấu hình, với mật khẩu ngẫu nhiên

$ 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

Đặt SITE_URL thành địa chỉ mà mọi người sẽ dùng để truy cập, ví dụ http://192.168.1.20:8065 trong mạng nội bộ.

3. Khởi động

$ docker compose up -d

Lần khởi động đầu tiên mất một hai phút để tạo cơ sở dữ liệu. Sau đó, mở SITE_URL trong trình duyệt và tạo tài khoản: tài khoản đầu tiên sẽ trở thành quản trị viên hệ thống, và trình thiết lập sẽ hướng dẫn bạn tạo cộng đồng đầu tiên.

Với tên miền riêng và HTTPS

Trỏ một bản ghi DNS của tên miền về máy chủ, mở cổng 80 và 443, rồi thêm tên miền vào .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 sẽ lấy chứng chỉ từ Let's Encrypt và tự động gia hạn.

Những gì sẽ chạy

  • antimatter: máy chủ, cùng các ứng dụng của nó (ghi chú, bảng trắng, kênh thoại, cuộc gọi, bình chọn và các ứng dụng khác). Nó không lưu gì trên đĩa: cài đặt nằm trong cơ sở dữ liệu và tệp nằm trong dịch vụ lưu trữ, nên có thể thay container bất cứ lúc nào.
  • postgres: cơ sở dữ liệu.
  • files: RustFS, kho lưu trữ tương thích S3 cho các tệp được tải lên.
  • gifs: dịch vụ GIF và nhãn dán của Antimatter, kèm một bộ nhãn dán khởi đầu.
  • https: Caddy, chỉ chạy với profile https.

Cơ sở dữ liệu, kho lưu trữ và dịch vụ GIF nằm trong một mạng riêng mà chỉ Antimatter truy cập được.

Nếu bộ chọn GIF vẫn trống, hãy mở Bảng điều khiển Hệ thống › Plugin › GIFs, đặt URL dịch vụ thành http://gifs:8080/v2 và khóa API thành giá trị GIFS_API_KEY trong tệp .env của bạn.

Nâng cấp và sao lưu

# nâng cấp lên image mới nhất
$ docker compose pull && docker compose up -d
# sao lưu cơ sở dữ liệu
$ docker compose exec postgres pg_dump -U antimatter antimatter > antimatter.sql

Hãy sao lưu cả volume files, hoặc sao chép dữ liệu lưu trữ bằng bất kỳ công cụ S3 nào. Để thiết lập với nginx và chứng chỉ riêng, xem các tệp dùng cho môi trường production trong antimatter-docker.

Với gói phát hành

  1. Tạo một cơ sở dữ liệu và người dùng PostgreSQL.
  2. Giải nén gói (antimatter-<os>-<arch>.tar.gz), ví dụ vào /opt/antimatter, rồi trỏ SqlSettings.DataSource trong config/config.json (hoặc biến môi trường AM_SQLSETTINGS_DATASOURCE) đến cơ sở dữ liệu đó.
  3. Khởi động máy chủ bằng bin/antimatter dưới một người dùng không có đặc quyền, rồi mở http://localhost:8065. Tài khoản đầu tiên được tạo sẽ trở thành quản trị viên hệ thống.

bin/amctl quản lý máy chủ đang chạy từ dòng lệnh (bin/amctl --local trên chính máy chủ đó, khi bật ServiceSettings.EnableLocalMode).

Các bước tiếp theo

  • Cuộc gọi: mở cổng cuộc gọi (mặc định là UDP và TCP 8443) để âm thanh và video đến được máy chủ.
  • Email: cấu hình SMTP để gửi lời mời và thông báo.
  • AI: thêm một mô hình trong phần cài đặt Agents; mọi API tương thích OpenAI đều dùng được, kể cả máy chủ do bạn tự vận hành.
  • Giọng nói và dịch: trỏ tính năng chép lời cuộc gọi, đọc to và dịch tự động đến các mô hình chuyển giọng nói thành văn bản, chuyển văn bản thành giọng nói và dịch thuật do bạn tự vận hành.