A streamlined guide to deploying Wiki.js with automatic GitHub synchronization.
ssh user@your-server
git clone https://github.com/username/wikijs.git
cd wikijs
version: "3.8"
services:
wikijs:
image: ghcr.io/requarks/wiki:2
container_name: wikijs
restart: unless-stopped
ports:
- 3100:3000
environment:
DB_TYPE: postgres
DB_HOST: wikijs-db
DB_PORT: 5432
DB_USER: wikijs
DB_PASS: YourSecurePassword
DB_NAME: wiki
volumes:
- ./data:/wiki/data
- ./backup:/wiki/backup
depends_on:
- wikijs-db
networks:
- wikijs-network
wikijs-db:
image: postgres:15-alpine
container_name: wikijs-db
restart: unless-stopped
environment:
POSTGRES_DB: wiki
POSTGRES_USER: wikijs
POSTGRES_PASSWORD: YourSecurePassword
volumes:
- ./db:/var/lib/postgresql/data
networks:
- wikijs-network
networks:
wikijs-network:
driver: bridge
mkdir -p data backup db
sudo chown -R 1000:1000 data backup db
docker compose up -d
Access at http://your-server-ip:3100
| Setting | Value |
|---|---|
| Authentication Type | Basic |
| Repository URL | https://github.com/username/wiki-content |
| Branch | main |
| Username | Your GitHub username |
| Password/Token | GitHub Personal Access Token |
| Sync Direction | Bi-directional |
| Sync Interval | PT5M (5 minutes) |
| Local Repository Path | ./data/repo |
Create and edit pages in Wiki.js - changes sync to GitHub automatically.
git clone https://github.com/username/wiki-content.git
cd wiki-content
# Edit markdown files
git add .
git commit -m "Update content"
git push
Changes appear in Wiki.js within 5 minutes.
sudo chown -R 1000:1000 data backup db
docker restart wikijs wikijs-db
docker logs wikijs
docker logs wikijs-db
docker compose pull
docker compose up -d
docker exec wikijs-db pg_dump -U wikijs wiki > backup-$(date +%Y%m%d).sql