Wiki.js — a modern, powerful wiki with a Markdown/WYSIWYG editor, full-text search, access control, and Git/storage sync. Deployed as an all-in-one host-networked Nomad job: a PostgreSQL sidecar plus the Wiki.js app (content is stored in Postgres, so only the database needs a volume).
Save as values.hcl, edit, then run:
# The name of the Nomad job.
job_name = "wikijs"
# The Nomad namespace to deploy into.
namespace = "default"
# The datacenters to deploy to.
datacenters = ["*"]
# The Wiki.js container image. Pin a tag in production.
image = "ghcr.io/requarks/wiki:2"
# The PostgreSQL image for the bundled database.
postgres_image = "postgres:16-alpine"
# Host port for the Wiki.js web UI (PORT).
port = 3010
# Host port for the co-located PostgreSQL.
db_port = 5432
# Password for the Wiki.js PostgreSQL user.
db_password = "wikijs"
# Named volume for PostgreSQL data (/var/lib/postgresql/data). Holds all wiki content.
db_data_volume = "wikijs_db_data"
# Placement constraints. Pin to the node holding the volume. On a nomploy cluster: attribute = "$${meta.nomploy_control_plane}", operator = "=", value = "true".
constraints = []
# Resources for the Wiki.js app task.
resources = {
cpu = 500
memory = 512
}
# Resources for the PostgreSQL task.
postgres_resources = {
cpu = 300
memory = 256
}
| Name | Type | Default | Description |
|---|---|---|---|
| job_name | string | "wikijs" | The name of the Nomad job. |
| namespace | string | "default" | The Nomad namespace to deploy into. |
| datacenters | list | ["*"] | The datacenters to deploy to. |
| image | string | "ghcr.io/requarks/wiki:2" | The Wiki.js container image. Pin a tag in production. |
| postgres_image | string | "postgres:16-alpine" | The PostgreSQL image for the bundled database. |
| port | number | 3010 | Host port for the Wiki.js web UI (PORT). |
| db_port | number | 5432 | Host port for the co-located PostgreSQL. |
| db_password key | string | "wikijs" | Password for the Wiki.js PostgreSQL user. |
| db_data_volume | string | "wikijs_db_data" | Named volume for PostgreSQL data (/var/lib/postgresql/data). Holds all wiki content. |
| constraints | list | [] | Placement constraints. Pin to the node holding the volume. On a nomploy cluster: attribute = "$${meta.nomploy_control_plane}", operator = "=", value = "true". |
| resources | object | {
cpu = 500
memory = 512
} | Resources for the Wiki.js app task. |
| postgres_resources | object | {
cpu = 300
memory = 256
} | Resources for the PostgreSQL task. |
No variables match.
Wiki.js — a modern, powerful wiki with a Markdown/WYSIWYG editor, full-text search, granular access control, and Git/storage sync.
All-in-one host-networked Nomad job: a PostgreSQL prestart sidecar plus the Wiki.js app. Content is stored in Postgres, so only the database needs a volume.
nomad-pack registry add nomploy https://github.com/Nomploy/nomad-packs
nomad-pack run wikijs --registry=nomploy
| Variable | Default | Description |
|---|---|---|
port |
3010 |
Web UI port (PORT). |
db_port |
5432 |
Co-located PostgreSQL port. |
db_password |
wikijs |
Password for the Wiki.js Postgres user. |
db_data_volume |
wikijs_db_data |
/var/lib/postgresql/data — all wiki content. |
image |
ghcr.io/requarks/wiki:2 |
Wiki.js image. Pin a tag in production. |
postgres_image |
postgres:16-alpine |
Database image. |
resources / postgres_resources |
see defaults | Per-task resources. |
Complete the setup wizard on first visit to create the administrator. Pin the job to the node
holding db_data_volume with constraints.