Install AFFiNE di Docker

Install AFFiNE di Docker

Bitnesia Software Mar 25, 2026 90 EN

Ketika sebuah tim mulai mengumpulkan ide, mendokumentasikan pekerjaan, dan berkolaborasi secara aktif, biasanya muncul satu pertanyaan: bagaimana cara mengelola semua itu dalam satu ruang kerja yang rapi, fleksibel, dan tetap milik kita sendiri? AFFiNE menawarkan jawabannya. Platform open source yang menggabungkan kemampuan menulis, menggambar, dan mengatur informasi dalam satu antarmuka terpadu. Dalam panduan ini, kita akan mengeksplorasi AFFiNE dan menyiapkannya bersama-sama melalui metode self-hosting menggunakan Docker Compose.

Apa Itu AFFiNE

AFFiNE adalah platform kolaborasi dan manajemen pengetahuan yang bersifat open source dan local first, memungkinkan kita menyimpan data secara lokal maupun di server milik sendiri. AFFiNE memadukan kemampuan editor dokumen, kanvas bebas (edgeless canvas), database, hingga kolaborasi real-time dalam satu ekosistem. Dengan demikian, AFFiNE cocok untuk berbagai kebutuhan, mulai dari pencatatan pribadi, dokumentasi tim, hingga brainstorming visual.

Beberapa fitur unggulan yang membuat AFFiNE menarik untuk kita gunakan:

  • Edgeless Canvas untuk menggambar, membuat diagram, sticky notes, dan visualisasi ide.
  • Dokumen blok modular seperti Notion, cocok untuk menulis dan mengorganisasi informasi.
  • Kolaborasi real-time melalui WebSocket.
  • Self-hosting dengan dukungan PostgreSQL, Redis, dan penyimpanan blob fleksibel.
  • Integrasi AI Copilot bila ingin memanfaatkan fitur berbasis AI.
  • Object Storage Support seperti AWS S3, MinIO, atau Cloudflare R2.
  • Konfigurasi fleksibel, baik melalui admin panel maupun file config.json.

Self-Host AFFiNE

AFFiNE menyediakan opsi self-hosting yang memberi kita kontrol penuh terhadap seluruh data. Melalui halaman pricing, AFFiNE menegaskan bahwa opsi ini tersedia tanpa biaya langganan cloud, sehingga organisasi dapat mengelola deployment sesuai kebijakan internal. Dengan self-hosting, kita bebas mengatur metode penyimpanan, integrasi AI, domain, hingga limitasi akses tim.

Persyaratan Sistem

Sebelum memulai proses instalasi, pastikan server memenuhi persyaratan berikut:

  • Storage: minimal 1.5 GB untuk instalasi dasar.
  • CPU: minimal 4 core direkomendasikan.
  • RAM:
    • 2 GB cukup untuk penggunaan ringan.
    • 4 GB atau lebih untuk workspace besar atau kolaborator banyak.
  • Komponen tambahan:
    • PostgreSQL (lebih baik dengan ekstensi pgvector bila memakai AI).
    • Redis untuk caching dan sync real-time.
    • Prometheus (opsional) untuk monitoring.

Instalasi AFFiNE dengan Docker Compose

Instalasi Docker terlebih dahulu dengan menggunakan script installer:

sh -c "curl -fsSL https://get.docker.com/ | sh"

Siapkan direktori proyek:

mkdir affine
cd affine

Unduh file docker-compose.yml:

wget -O docker-compose.yml https://github.com/toeverything/affine/releases/latest/download/docker-compose.yml

Unduh file .env:

wget -O .env https://github.com/toeverything/affine/releases/latest/download/default.env.example

Kita dapat menyesuaikan:

  • jalur penyimpanan data Postgres
  • direktori blob lokal
  • kredensial database
  • port service

Contoh konfigurasinya:

AFFINE_REVISION=stable
PORT=3010
AFFINE_SERVER_EXTERNAL_URL=https://affine.yourdomain.com
DB_DATA_LOCATION=~/.affine/self-host/postgres/pgdata
UPLOAD_LOCATION=~/.affine/self-host/storage
CONFIG_LOCATION=~/.affine/self-host/config
DB_USERNAME=affine
DB_PASSWORD=affineDBpassword
DB_DATABASE=affine

Jalankan AFFiNE:

docker compose up -d

Verifikasi hasil Docker Compose:

docker compose ls

Contoh responnya:

NAME              IMAGE                                COMMAND                  SERVICE    CREATED          STATUS                    PORTS
affine_postgres   pgvector/pgvector:pg16               "docker-entrypoint.s…"   postgres   30 seconds ago   Up 29 seconds (healthy)   5432/tcp
affine_redis      redis                                "docker-entrypoint.s…"   redis      30 seconds ago   Up 29 seconds (healthy)   6379/tcp
affine_server     ghcr.io/toeverything/affine:stable   "docker-entrypoint.s…"   affine     30 seconds ago   Up 9 seconds              0.0.0.0:3010->3010/tcp, [::]:3010->3010/tcp

Setelah kontainer berjalan, kita dapat mengaksesnya melalui http://<IP-Server>:3010.

Domain & HTTPS (Nginx Reverse Proxy)

Agar AFFiNE dapat diakses secara aman dengan domain sendiri, kita dapat menempatkannya di belakang Nginx reverse proxy.

Contoh konfigurasi sederhana:

server {
  server_name affine.yourdomain.com;
  client_max_body_size 100m;

  location / {
    proxy_pass http://localhost:3010;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
  }
}

Instalasi SSL dengan certbot:

certbot --non-interactive \
-m [email protected] \
--agree-tos \
--no-eff-email \
--nginx -d affine.yourdomain.com \
--redirect

Sekarang AFFiNE sudah dapat diakses melalui https://affine.yourdomain.com.

Membuat Akun Admin

Setelah instalasi, akses AFFiNE, lalu buat akun admin. Masukkan nama, email, dan password. Setelah selesai akan masuk ke dashboard admin AFFiNE di https://affine.yourdomain.com/admin.

Akses AFFiNE

Sekarang mencoba mengakses AFFiNE:

  • Buat akun baru, lalu logout dari admin.
  • Akses https://affine.yourdomain.com.
  • Login menggunakan akun baru.
  • Lalu buat workspace.

AFFiNE self-hosted sudah siap digunakan.

Penutup

Dengan menjalankan AFFiNE secara self-hosted, kita mendapatkan lingkungan kolaborasi yang modern, fleksibel, dan tetap berada dalam kendali penuh. Mulai dari pencatatan, brainstorming visual, hingga kolaborasi tim, semuanya bisa kita lakukan dalam satu platform yang terintegrasi.

Berhasil konfigurasi dalam hitungan menit? Kirimkan apresiasi Anda untuk riset dan waktu yang kami dedikasikan di sini.

Beri Apresiasi

Related Posts