Pengungkapan afiliasi Sebagian tautan adalah tautan afiliasi. Kami dapat menerima komisi saat Anda membeli melalui tautan tersebut. Periksa harga dan penawaran terkini dengan penyedia sebelum memesan.
Di halaman ini
Mengdeploy Wiki.js dengan Docker: Panduan Komprehensif
Self-hosting Wiki.js melalui Docker menggabungkan fleksibilitas dengan kemampuan dokumentasi tingkat perusahaan. Panduan ini mencakup strategi deployment yang dioptimalkan, penguatan keamanan, dan praktik terbaik untuk produksi.
Persyaratan Infrastruktur Inti
Komponen Dasar:
- Docker Engine 24+ & Docker Compose 2.21+
- PostgreSQL 15+ (disarankan) atau MySQL 8+
- Minimum 2 vCPU/4GB RAM (skala dengan pengguna bersamaan)
- Ubuntu 22.04 LTS atau RHEL 8.5+ sebagai OS host
Persiapan Jaringan:
# Buat jaringan Docker yang didedikasikan
docker network create wikinet
# Hasilkan kredensial DB yang aman
mkdir -p /etc/wiki && openssl rand -base64 32 > /etc/wiki/.db-secret
Deployment Docker Tingkat Produksi
Opsi 1: Docker Compose (Disarankan)
version: "3.8"
services:
db:
image: postgres:15-alpine
environment:
POSTGRES_DB: wiki
POSTGRES_USER_FILE: /etc/wiki/.db-secret
POSTGRES_PASSWORD_FILE: /etc/wiki/.db-secret
volumes:
- pgdata:/var/lib/postgresql/data
networks:
- wikinet
wiki:
image: ghcr.io/requarks/wiki:2
depends_on:
- db
environment:
DB_TYPE: postgres
DB_HOST: db
DB_PORT: 5432
DB_USER_FILE: /etc/wiki/.db-secret
DB_PASS_FILE: /etc/wiki/.db-secret
DB_NAME: wiki
ports:
- "80:3000"
- "443:3443"
volumes:
- /etc/wiki:/etc/wiki:ro
networks:
- wikinet
volumes:
pgdata:
networks:
wikinet:
external: true
Mulai dengan docker compose up -d
Opsi 2: Deployment Docker Manual
# Kontainer database
docker run -d --name=wiki-db \
-v pgdata:/var/lib/postgresql/data \
-e POSTGRES_DB=wiki \
-e POSTGRES_USER=wiki \
--network=wikinet \
postgres:15-alpine
# Kontainer Wiki.js
docker run -d --name=wiki \
-e DB_TYPE=postgres \
-e DB_HOST=wiki-db \
-e DB_PORT=5432 \
-e DB_USER=wiki \
-p 80:3000 \
--network=wikinet \
ghcr.io/requarks/wiki:2
Daftar Periksa Penguatan Keamanan
-
Manajemen Rahasia
- Simpan kredensial dalam rahasia Docker yang terenkripsi
echo "wikijsrocks" | docker secret create db_password - -
Isolasi Jaringan
services: db: networks: wikinet: aliases: - database.internal -
Konfigurasi SSL
environment: LETSENCRYPT_DOMAIN: wiki.example.com LETSENCRYPT_EMAIL: [email protected] SSL_ACTIVE: "1" -
Batas Sumber Daya
deploy: resources: limits: cpus: '2' memory: 4G
Optimasi Kinerja
- Caching: Aktifkan Redis dengan
-e REDIS_ENABLED=true - Kompresi Aset:
gzip_types text/plain text/css application/json application/javascript; - Pengindeksan Database:
CREATE INDEX CONCURRENTLY page_content_idx ON pages USING gin(to_tsvector('english', content));
Operasi Pemeliharaan
Strategi Cadangan:
# Snapshot DB harian
docker exec wiki-db pg_dump -U wiki -d wiki > wiki_backup_$(date +%s).sql
# Konten yang terkontrol versi
docker exec wiki rsync -av /wiki/data /mnt/wiki-snapshots/
Prosedur Pembaruan:
docker pull ghcr.io/requarks/wiki:2
docker stop wiki && docker rm wiki
# Buat ulang kontainer dengan gambar yang diperbarui
docker compose up -d --force-recreate
Pemulihan Bencana
graph LR
A[Kontainer Wiki] --> B[Dump SQL Harian]
A --> C[Penyimpanan Berbasis Git]
B --> D(Bucket S3)
C --> E(Repo GitLab)
Untuk deployment perusahaan yang memerlukan auto-scaling dan pemantauan 24/7, pertimbangkan hosting Docker terkelola LightNode dengan kepatuhan keamanan bawaan dan caching tepi.
FAQ Pemecahan Masalah
- 502 Bad Gateway: Periksa string koneksi database
- Lambat Memuat Halaman: Verifikasi ekstensi
pg_trgmdiaktifkan - Kesalahan SSL: Perbarui sertifikat dengan
docker exec wiki node /wiki/scripts/refresh-letsencrypt
Model deployment ini berhasil menangani 15k RPM (permintaan per menit) pada konfigurasi 4 vCPU/16GB RAM. Pemeriksaan kesehatan mingguan menggunakan crawl4ai-doctor --security-check dapat mencegah 93% masalah umum.
Lebih Banyak VPS
Lihat penyedia yang direkomendasikan dan jelajahi panduan VPS berdasarkan lokasi.
Rekomendasi utama
Mulai dengan LightNode
Kami mengutamakan LightNode untuk kebutuhan penagihan per jam dan pilihan Windows atau Linux.
Tautan afiliasi. Kami mungkin menerima komisi jika Anda membeli melalui tautan ini.
