Docmost, açık kaynaklı işbirliği wiki ve belge platformudur. Onu VPS üzerinde kendin barındırmak, size tam veri sahipliği sağlar, özel bir alan adı kullanma imkanı sunar ve kullanıcı başına ücret ödemeden kullanım sağlar. Bu kılavuz, yeni bir Ubuntu VPS’den SSL ve Nginx ile çalışan aktif bir Docmost örneğine kadar tam kurulum sürecini kapsar.
Gereksinimler
Başlamadan önce ihtiyacınız olanlar:
- Ubuntu 22.04 veya 24.04 çalıştıran bir VPS (en az 1 vCPU, 2GB RAM önerilir)
- VPS IP adresine yönlendirilmiş bir alan veya alt alan adı (ör.
docs.yourdomain.com) - Sunucuye root veya sudo erişimi
- Docker ve Docker Compose yüklü
Önerilen VPS sağlayıcıları:
- Hetzner Cloud - €4.15/ay, 2 vCPU, 4GB RAM (en iyi değer)
- Contabo VPS - €5.99/ay, 4 vCPU, 8GB RAM, 200GB NVMe
- DigitalOcean - $6/ay, başlangıç dostu
Adım 1: VPS’nizi Hazırlayın
Yeni bir Ubuntu 22.04 VPS başlatın. SSH ile root olarak bağlanın:
ssh root@sunucu-ipniz
Sudo yetkileriyle bir non-root kullanıcı oluşturun (önerilir):
adduser deploy
usermod -aG sudo deploy
Adım 2: Docker ve Docker Compose’u Yükleyin
# Sistem güncelleme
apt update && apt upgrade -y
# Docker'ı yükleme
curl -fsSL https://get.docker.com | sh
# Kullanıcınızı docker grubuna ekleyin
usermod -aG docker deploy
# Kurulumu doğrulayın
docker --version
docker compose version
Değişikliklerin etkin olması için çıkış yapıp tekrar giriş yapın.
Adım 3: Docmost Dizini Oluşturun
mkdir -p /opt/docmost
cd /opt/docmost
Adım 4: Docker Compose Dosyasını Yazın
/opt/docmost/docker-compose.yml dosyasını oluşturun:
version: '3'
services:
docmost:
image: docmost/docmost:latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://docmost:password@db:5432/docmost
REDIS_URL: redis://redis:6379
depends_on:
- db
- redis
restart: unless-stopped
db:
image: postgres:16
environment:
POSTGRES_USER: docmost
POSTGRES_PASSWORD: password
POSTGRES_DB: docmost
volumes:
- pg_data:/var/lib/postgresql/data
restart: unless-stopped
redis:
image: redis:7
volumes:
- redis_data:/data
restart: unless-stopped
volumes:
pg_data:
redis_data:
Güvenlik notu:
passwordyerine güçlü ve rastgele üretilmiş bir parola kullanmayı unutmayın.
Adım 5: Docmost’u Başlatın
cd /opt/docmost
docker compose up -d
Tüm konteynerlerin çalıştığını kontrol edin:
docker compose ps
docmost, db ve redis servislerinin hepsi running durumunda olmalı. Bir sorun varsa logları kontrol edin:
docker compose logs docmost
Adım 6: Nginx Yükleyin ve Yapılandırın
apt install nginx -y
/etc/nginx/sites-available/docmost dosyasını oluşturun:
server {
listen 80;
server_name docs.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name docs.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/docs.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/docs.yourdomain.com/privkey.pem;
client_max_body_size 100M;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Host $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";
proxy_read_timeout 86400;
}
}
Siteyi etkinleştirin:
ln -s /etc/nginx/sites-available/docmost /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
Adım 7: SSL Sertifikası Alın
apt install certbot python3-certbot-nginx -y
certbot --nginx -d docs.yourdomain.com
İşlem adımlarını takip edin. Certbot, Nginx yapılandırmanızı otomatik olarak güncelleyerek sertifika yollarını ayarlar ve otomatik yenilemeyi kurar.
Adım 8: Güvenlik Duvarını Ayarlayın
ufw allow OpenSSH
ufw allow 'Nginx Full'
ufw enable
Port 3000’yi doğrudan açmayın - tüm trafik Nginx üzerinden yönlendirilmelidir.
Adım 9: İlk Giriş ve Çalışma Alanı Kurulumu
- Tarayıcınızda
https://docs.yourdomain.comadresine gidin - İlk ziyaretinizde Docmost kurulum sihirbazını göreceksiniz
- Yönetici hesabınızı oluşturun (e-posta + şifre)
- Çalışma alanınıza isim verin
- İlk space’inizi oluşturun (ör. “Engineering”, “Product”, “HR”)
- Takım üyelerini Ayarlar panelinden davet edin
Docmost Güncelleme
En yeni imajı çekip tekrar başlatmak için:
cd /opt/docmost
docker compose pull
docker compose up -d
Yedekleme Stratejisi
PostgreSQL verilerinizi düzenli yedekleyin:
docker exec docmost-db-1 pg_dump -U docmost docmost > yedek_$(date +%Y%m%d).sql
Ayrıca, Docker volumeni /var/lib/docker/volumes/docmost_pg_data dizininde yedekleyin.
Sorun Giderme
| Sorun | Çözüm |
|---|---|
| Konteynerler başlamıyor | docker compose logs ile hataları kontrol edin |
| 502 Bad Gateway | Docmost henüz başlatılıyor olabilir - 30 saniye bekleyip tekrar deneyin |
| WebSocket hataları | Nginx yapılandırmasında Upgrade ve Connection başlıklarının olup olmadığını kontrol edin |
| DB bağlantısı reddediliyor | DATABASE_URL ile PostgreSQL konteyner kimlik bilgilerinin uyumlu olduğunu doğrulayın |
Sonraki Adımlar
- E-posta bildirimleri için Docmost ayarlarında SMTP yapılandırması yapın
- Kimlik sağlayıcısı kullanıyorsanız OIDC/SSO yapılandırmasını tamamlayın
- VPS sağlayıcınız üzerinden otomatik Docker volume yedekleri ayarlayın
VPS sağlayıcı karşılaştırmaları için selfhostvps.com/en/best/ sayfasını inceleyebilirsiniz.