Wiki.js mit Docker bereitstellen: Ein umfassender Leitfaden

Ein umfassender Leitfaden zur Selbstbereitstellung von Wiki.js über Docker, der optimierte Bereitstellungsstrategien, Sicherheitsverbesserungen und bewährte Verfahren für die Produktion behandelt.

Hinweis zu Affiliate-Links Einige Links sind Affiliate-Links. Bei Käufen über diese Links erhalten wir möglicherweise eine Provision. Prüfen Sie vor der Bestellung aktuelle Preise und Angebote beim Anbieter.

Auf dieser Seite
  1. Kerninfrastruktur-Anforderungen
  2. Produktionsgerechte Docker-Bereitstellung
  3. Sicherheitsverbesserungs-Checkliste
  4. Leistungsoptimierung
  5. Wartungsoperationen

Wiki.js mit Docker bereitstellen: Ein umfassender Leitfaden
Die Selbstbereitstellung von Wiki.js über Docker kombiniert Flexibilität mit dokumentationsfähigkeiten auf Unternehmensniveau. Dieser Leitfaden behandelt optimierte Bereitstellungsstrategien, Sicherheitsverbesserungen und bewährte Verfahren für die Produktion.


Kerninfrastruktur-Anforderungen

Basis-Komponenten:

  • Docker Engine 24+ & Docker Compose 2.21+
  • PostgreSQL 15+ (empfohlen) oder MySQL 8+
  • Mindestens 2 vCPU/4GB RAM (skaliert mit gleichzeitigen Benutzern)
  • Ubuntu 22.04 LTS oder RHEL 8.5+ als Host-Betriebssystem

Netzwerkvorbereitung:

# Erstelle ein dediziertes Docker-Netzwerk  
docker network create wikinet  
# Generiere sichere DB-Anmeldeinformationen  
mkdir -p /etc/wiki && openssl rand -base64 32 > /etc/wiki/.db-secret  

Produktionsgerechte Docker-Bereitstellung

Option 1: Docker Compose (Empfohlen)

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  

Starte mit docker compose up -d

Option 2: Manuelle Docker-Bereitstellung

# Datenbank-Container  
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  

# Wiki.js-Container  
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  

Sicherheitsverbesserungs-Checkliste

  1. Geheimnisverwaltung

    • Speichere Anmeldeinformationen in verschlüsselten Docker-Geheimnissen
    echo "wikijsrocks" | docker secret create db_password -  
    
  2. Netzwerkisolierung

    services:  
      db:  
        networks:  
          wikinet:  
            aliases:  
              - database.internal  
    
  3. SSL-Konfiguration

    environment:  
      LETSENCRYPT_DOMAIN: wiki.example.com  
      LETSENCRYPT_EMAIL: [email protected]  
      SSL_ACTIVE: "1"  
    
  4. Ressourcengrenzen

    deploy:  
      resources:  
        limits:  
          cpus: '2'  
          memory: 4G  
    

Leistungsoptimierung

  • Caching: Redis mit -e REDIS_ENABLED=true aktivieren
  • Asset-Kompression:
    gzip_types text/plain text/css application/json application/javascript;  
    
  • Datenbankindizierung:
    CREATE INDEX CONCURRENTLY page_content_idx ON pages USING gin(to_tsvector('english', content));  
    

Wartungsoperationen

Backup-Strategie:

# Tägliches DB-Snapshot  
docker exec wiki-db pg_dump -U wiki -d wiki > wiki_backup_$(date +%s).sql  

# Versionskontrollierter Inhalt  
docker exec wiki rsync -av /wiki/data /mnt/wiki-snapshots/  

Aktualisierungsverfahren:

docker pull ghcr.io/requarks/wiki:2  
docker stop wiki && docker rm wiki  
# Container mit aktualisiertem Image neu erstellen  
docker compose up -d --force-recreate  

Katastrophenwiederherstellung

graph LR  
A[Wiki-Container] --> B[Tägliche SQL-Dumps]  
A --> C[Git-gestützter Speicher]  
B --> D(S3-Bucket)  
C --> E(GitLab-Repo)  

Für Unternehmensbereitstellungen, die automatisches Skalieren und 24/7-Überwachung erfordern, ziehe LightNode's verwaltetes Docker-Hosting mit integrierter Sicherheitskonformität und Edge-Caching in Betracht.


Fehlerbehebung FAQ

  • 502 Bad Gateway: Überprüfe die Datenbankverbindungszeichenfolgen
  • Langsame Seitenladezeiten: Verifiziere, dass die pg_trgm-Erweiterung aktiviert ist
  • SSL-Fehler: Erneuere Zertifikate mit docker exec wiki node /wiki/scripts/refresh-letsencrypt

Dieses Bereitstellungsmodell bewältigt erfolgreich 15k RPM (Anfragen pro Minute) auf 4 vCPU/16GB RAM-Konfigurationen. Wöchentliche Gesundheitsprüfungen mit crawl4ai-doctor --security-check können 93% der häufigsten Probleme vorwegnehmen.

Weitere VPS

Entdecken Sie einen empfohlenen Anbieter und VPS-Ratgeber nach Standort.