Skip to content

Running-WikiJS

Using Docker Compose simplifies the process of updating Wiki.js while ensuring safe practices. This is a matter of personal preference, but it’s a highly recommended approach for managing Dockerized services.

Create the following docker-compose.yml file in a user home directory for Wiki.js. Refer to the Server Initial Setup guide for preliminary server setup.

version: "3"
services:
db:
image: postgres:15-alpine
environment:
POSTGRES_DB: wiki
POSTGRES_PASSWORD: super_secret_here
POSTGRES_USER: wikijs
logging:
driver: "none"
restart: unless-stopped
volumes:
- db-data:/var/lib/postgresql/data
wiki:
image: ghcr.io/requarks/wiki:2
depends_on:
- db
environment:
DB_TYPE: postgres
DB_HOST: db
DB_PORT: 5432
DB_USER: wikijs
DB_PASS: super_secret_here
DB_NAME: wiki
restart: unless-stopped
ports:
- "XZY:3000"
volumes:
db-data:
  • Update the port where it says XZY (e.g., 80:3000 for typical use). If using [adjust to your desired port.

  • Replace the placeholder passwords (super_secret_here) with secure values.

To run Wiki.js, execute the following command:

docker compose up -d

To safely update Wiki.js, use:

docker-compose pull && docker-compose up -d

This command will pull the latest images specified in your docker-compose.yml file and restart the containers in detached mode.

Backup your data before updating or making significant changes. Use the following command to create a database dump:

docker exec -t db pg_dumpall -c -U wikijs > dump_$(date +"%d-%m-%Y_%H-%M-%S").sql
  • Replace db with the name of your database container if it’s different.

Verify the logs of your Wiki.js container after the update to ensure it’s running correctly:

docker logs wiki

To restore the backup if needed:

cat your_backup.sql | docker exec -i db psql -U wikijs
  • Replace your_backup.sql with the actual path to your backup file.
  • Always test updates in a non-production environment to avoid disruption to live users.

  • Ensure the backup is valid and retrievable before making changes.

  • Monitor the logs for any errors post-update to take corrective actions quickly.

,