Wiki.js: wiki with Markdown and visual editors, page history. Signed; SBOM and SLSA v1 provenance.
2.6K
readystack/wikijs:3.0.0-beta.685-CE-ubuntu24.04-r3
Source, recipe and records
3.0.0-beta.685): https://github.com/requarks/wiki/tree/a53dea81734a29428729b7043f4aaabf57e41de1A cosign-signed build of github.com/requarks/wiki 3.0.0-beta.685 (AGPL-3.0), a 3.x pre-release that upstream marks '3.x Beta Release - Not for production use', built from the tagged source, built clean-room from official upstream source, with the source changes listed below by ReadyStack.
Who: Teams and organisations that want a self-hosted wiki for their documentation, written in Markdown or a visual editor.
Why: Wiki.js is open-source wiki software with Markdown, visual and HTML editors, version history on every page, search, and sign-in through local accounts or company systems such as LDAP, SAML and OpenID Connect.
Use case: An engineering team writes its documentation in Markdown, while the support team prefers a visual editor. In Wiki.js both edit the same wiki, every change is tracked so a page can be compared or reverted, and staff sign in with their company accounts.
About the upstream project, written from its own description: https://github.com/requarks/wiki · https://js.wiki/
Signature, user and attestations below were measured on the published digest sha256:c3df2212c7faed8380880981311979fef882ea084d72acef42963655f09be2d1 on 2026-10-27.
04daa92344a52dbc) on this release's index digest sha256:c3df2212c7faed8380880981311979fef882ea084d72acef42963655f09be2d1; verify with cosign verify --key https://readystack.dev/keys/cosign.pub readystack/wikijs:3.0.0-beta.685-CE-ubuntu24.04-r3.wiki).This image follows the ReadyStack release-tag convention:
The current release is 3.0.0-beta.685-CE-ubuntu24.04-r3 — the release listed at readystack.dev. Release tags use the pattern <upstream-version>-CE-<base-os>-r<N>; the current one is signed, attested (SBOM + provenance), and is provided under the ReadyStack Agreement.
Earlier release tags (an older version or revision in the same pattern) are superseded. They stay pullable so existing deployments can pin them, but they are no longer re-graded, and fixes appear only in newer releases: move to the current release. For a superseded release's build kit, ask support.
Any tag beginning with internal- is an engineering-pipeline artifact published for build observability. It is unsupported, may change or disappear without notice, and must not be used in production.
# ✓ current release
docker pull readystack/wikijs:3.0.0-beta.685-CE-ubuntu24.04-r3
# ✗ unsupported (do not pull)
docker pull readystack/wikijs:internal-...
This release is signed; verify it with cosign verify --key https://readystack.dev/keys/cosign.pub readystack/wikijs:3.0.0-beta.685-CE-ubuntu24.04-r3 (the signature is recorded in the public Sigstore transparency log). Support: [email protected], as set out in the ReadyStack Agreement.
One container running the Wiki.js 3 server (Node.js 26, node --no-experimental-webstorage backend under tini as PID 1, one foreground process plus its worker threads) on port 3000, and a PostgreSQL 17 or later database that you run beside it. Wiki.js 3 supports no other database and embeds none. Everything the wiki stores lives in that database: pages and their history, users and groups, settings, and uploaded files (stored as binary columns), in a schema named wiki (DB_SCHEMA). /wiki/data inside the container is a cache that starts empty in a new container and fills as the wiki is used, plus the working copies of Git storage targets you configure. It is not a multi-instance cluster in this configuration.
Secrets go in env files that only you can read, not on the command line, and passwords that only set up the first start come out of them after setup. Create each file with install -m 600 /dev/null <file>, then write its lines into it with an editor, with your own values (a value typed into a shell stays in its history). Docker reads each line as written: no quotes around a value, no spaces around =.
wikijs-db.env:
# First start only: the postgres image reads POSTGRES_PASSWORD only when it initialises its empty volume. You can remove this line after the first start and recreate the db container; the database keeps the password.
POSTGRES_PASSWORD=YOUR_DB_PASSWORD
wikijs.env:
# Needed at every start: the same database password as POSTGRES_PASSWORD.
DB_PASS=YOUR_DB_PASSWORD
# Used only by the first start on an empty database, but this image does not start without it. After setup, replace ADMIN_PASS's value with any other text and recreate the container; the administrator keeps the password.
ADMIN_PASS=YOUR_ADMIN_PASSWORD
docker network create wikijs-net
docker run -d --name wikijs-db --network wikijs-net --restart unless-stopped -e POSTGRES_DB=wiki -e POSTGRES_USER=wikijs --env-file ./wikijs-db.env -v wikijs-pgdata:/var/lib/postgresql postgres:18
docker run -d --name wikijs --network wikijs-net --restart unless-stopped -p 3000:3000 -e DB_HOST=wikijs-db -e DB_USER=wikijs -e DB_NAME=wiki -e [email protected] --env-file ./wikijs.env readystack/wikijs:3.0.0-beta.685-CE-ubuntu24.04-r3
Replace YOUR_DB_PASSWORD (the same value in wikijs-db.env and wikijs.env) and YOUR_ADMIN_PASSWORD, and use your own e-mail address for ADMIN_EMAIL: it is the administrator's login. The container refuses to start without ADMIN_PASS, although only the first start on an empty database uses it: after setup, replace ADMIN_PASS's value in wikijs.env with any other text and recreate the container (docker rm -f wikijs, then its docker run line again); the administrator keeps its password, which is then no longer in the container's environment (tested). --restart unless-stopped matters: Wiki.js waits for the database for about 30 seconds at start (10 attempts, 3 seconds apart) and exits when it cannot reach it, and it also exits when a running database goes away; the restart policy brings it back once PostgreSQL answers. The postgres:18 image keeps its data under /var/lib/postgresql (a version subdirectory), so that is the path to mount. Then open http://:3000/ and sign in. Other settings Wiki.js reads from the environment: DB_PORT (default 5432), DB_SCHEMA (default wiki), DB_SSL (true to require TLS), DB_SSL_CA (an inline CA certificate: the base64 body of the certificate on one line, without the BEGIN/END CERTIFICATE lines, which Wiki.js adds itself; a full PEM fails to connect), DATABASE_URL (a postgres:// URL instead of the DB_* settings), LOG_LEVEL (error, warn, info, debug; default info), LOG_FORMAT (default or json) and WIKI_PORT (listening port, default 3000; the image HEALTHCHECK keeps probing 127.0.0.1:3000, so keep 3000 unless you replace the health check).
This software is licensed under the GNU Affero General Public License, and the releases below are built from a modified copy of its source. Each line names a release, what ReadyStack changed and where the diff is published. From 2026-10-27 a release's diff carries every upstream file its build changes, the dependency manifests and lockfiles included, so its complete corresponding source is the upstream tag with that diff applied; the diff of an earlier release carries the source edits its line names, and the dependency files that release's build changed are in its release archive (vendored/). If you let users interact with the server over a network, AGPL-3.0 section 13 asks you to offer them its source; for a release from 2026-10-27 on, a link to its diff and the upstream tag does that.
3.0.0-beta.685-CE-ubuntu24.04-r3 — backend/package.json and frontend/package.json carry the release version (3.0.0-beta.685 instead of upstream's placeholder 3.0.0), the edit upstream's own release build makes; full diff at https://readystack.dev/source/wikijs/3.0.0-beta.685/wikijs-3.0.0-beta.685-readystack.patch3.0.0-beta.685-CE-ubuntu24.04-r2 — backend/package.json and frontend/package.json carry the release version (3.0.0-beta.685 instead of upstream's placeholder 3.0.0), the edit upstream's own release build makes; full diff at https://readystack.dev/source/wikijs/3.0.0-beta.685/wikijs-3.0.0-beta.685-readystack.patch3.0.0-beta.685-CE-ubuntu24.04-r1 — backend/package.json and frontend/package.json carry the release version (3.0.0-beta.685 instead of upstream's placeholder 3.0.0), the edit upstream's own release build makes; full diff at https://readystack.dev/source/wikijs/3.0.0-beta.685/wikijs-3.0.0-beta.685-readystack.patchThe complete --network=none build kit for this image — plus admin/DB/API handbooks, the build's validation records, and its build provenance records — is a free download for any registered account at readystack.dev/products/wikijs. A clean-room rebuild from this release's archive on an egress-blocked host reproduced its linux/amd64 digest sha256:1d70c95a3332c0432bf7584f2f5dba1d4b9bfc3d5d75f8e8e168117d470b33ec on 2026-10-27.
— ReadyStack · readystack.dev
Content type
Image
Digest
sha256:657f3fc93…
Size
6.1 MB
Last updated
1 day ago
docker pull readystack/wikijs:sha256-1d70c95a3332c0432bf7584f2f5dba1d4b9bfc3d5d75f8e8e168117d470b33ec.att