Skip to content
Live $100 credit at signup, up to $300 total Offer ends December 31, 2026 Get started →

Wiki.js

Wiki.js is a modern, open-source wiki and documentation platform. It offers a rich Markdown editor, fine-grained access control, full-text search, and authentication integrations, all backed by a relational database. It is a strong fit for internal knowledge bases, product documentation, and team wikis. The web interface runs on port 3000.

ComponentVersion
Wiki.js2.5.312
PostgreSQL18
DockerLatest stable
Ubuntu24.04 LTS

Set these optionally when you deploy from the marketplace. Leave a field blank to have a secure value generated.

VariableDescription
DB_USERPostgreSQL username
DB_PASSPostgreSQL password
DB_NAMEPostgreSQL database name
ssh ubuntu@<your-vm-ip>

On the first boot, a setup script generates the database password and starts Wiki.js and PostgreSQL with Docker Compose. Track progress:

sudo journalctl -u wikijs-first-boot.service -f

The login message (MOTD) confirms when Wiki.js is ready. You can also verify both containers:

cd /opt/wikijs && docker compose ps

Open a browser and navigate to:

http://<your-vm-ip>:3000

Complete the first-run setup wizard to create the administrator and configure the site. The image does not create a shared default administrator account.

Wiki.js runs as a Docker Compose stack in /opt/wikijs.

# Check status
cd /opt/wikijs && docker compose ps
# Restart
cd /opt/wikijs && docker compose restart
# View logs
cd /opt/wikijs && docker compose logs -f
PathPurpose
/opt/wikijs/docker-compose.ymlDocker Compose configuration
/opt/wikijs/.envInternal database password
/opt/wikijs/data/postgres/PostgreSQL data
/etc/wikijs/credentials.txtDatabase credentials and access details

Wiki.js uses port 3000. UFW is enabled and allows SSH (port 22) plus port 3000 by default. The PostgreSQL container is available only on the internal Docker network.

To restrict Wiki.js to a specific IP:

sudo ufw delete allow 3000/tcp
sudo ufw allow from <trusted-ip> to any port 3000

To access the UI without leaving port 3000 open, use an SSH tunnel:

# Run this on your local machine
ssh -L 3000:localhost:3000 ubuntu@<your-vm-ip>
# Then open in your browser
http://localhost:3000

For production use, place Wiki.js behind a reverse proxy so you can serve it over HTTPS with a trusted TLS certificate.

Last updated: