docs(gremlin): update wiki

This commit is contained in:
traveler 2026-05-02 21:59:55 -05:00
parent 5749ae09d9
commit 437d28f2c7

View file

@ -1,66 +1,63 @@
--- ---
title: wiki Stack title: wiki Stack
description: Documentation Server for NetGrimoire description: Wiki Services for NetGrimoire
published: true published: true
date: 2026-05-03T02:56:50.633Z date: 2026-05-03T02:56:58.448Z
tags: docker,swarm,wiki,netgrimoire tags: docker,swarm,wiki,netgrimoire
editor: markdown editor: markdown
dateCreated: 2026-05-03T02:56:50.633Z dateCreated: 2026-05-03T02:56:58.448Z
--- ---
# wiki # wiki
## Overview ## Overview
The wiki stack in NetGrimoire consists of three primary services: wikijs, drawio, and wikijs-db. The wikijs service acts as a documentation server, hosting the wiki's content and providing access to it through a web interface. The drawio service serves as a graphical drawing tool for creating diagrams and illustrations. The wikijs-db service is used by wikijs and drawio to store and manage their respective data. The wiki Stack in NetGrimoire consists of three services: `wikijs`, `drawio`, and `wikijs-db`. These services provide a fully functional documentation server, a drawing tool, and a database for storing data, respectively.
--- ---
## Architecture ## Architecture
| Service | Image | Port | Role | | Service | Image | Port | Role |
|---------|-----|-----|---------| - **WikiJS**: requarks/wiki:2 | 3000 | Documentation Server |
- **Host:** docker4 - **DrawIO**: jgraph/drawio:latest | 8080 | Draw Tool |
- **Network:** netgrimoire - **WikiDB**: postgres:16-alpine | 5432 | Database |
- **Exposed via:** `wiki.netgrimoire.com` for wikijs, `draw.netgrimoire.com` for drawio
- **Homepage group:** Documentation Exposed via Caddy domains:
- wiki.netgrimoire.com
- draw.netgrimoire.com
Homepage group: Documentation
--- ---
## Build & Configuration ## Build & Configuration
### Prerequisites ### Prerequisites
No specific prerequisites are required for this stack. Set up Docker Swarm manager and worker nodes with the required environment variables.
### Volume Setup
```bash ```bash
mkdir -p /DockerVol/wikijs-data mkdir -p /DockerVol/wikijs-data
mkdir -p /DockerVol/wikijs-repo mkdir -p /DockerVol/wikijs/repo
mkdir -p /DockerVol/drawio-data mkdir -p /DockerVol/drawio
```
Chown if needed.
```bash
chown -R user:group /DockerVol/wikijs/
chown -R user:group /DockerVol/drawio/
``` ```
### Environment Variables ### Environment Variables
Generate environment variables for the services:
```bash ```bash
# generate: openssl rand -hex 32 export PUID=1964
TZ=America/Chicago export PGID=1964
POSTGRES_DB=wiki
POSTGRES_USER=wikijs
POSTGRES_PASSWORD=F@lcon13
DB_TYPE=postgres
DB_HOST=wikijs-db
DB_PORT=5432
DB_USER=wikijs
DB_PASS=F@lcon13
DB_NAME=wiki
DB_POOL_MIN=2
DB_POOL_MAX=5
DB_POOL_ACQUIRETIMEOUTMILLIS=60000
DB_POOL_CREATETIMEOUTMILLIS=30000
DB_POOL_DESTROYTIMEOUTMILLIS=5000
DB_POOL_IDLETIMEOUTMILLIS=30000
PUID=1964
PGID=1964
``` ```
### Deploy ### Deploy
Deploy the wiki Stack using the following commands:
```bash ```bash
cd services/swarm/stack/wiki cd services/swarm/stack/wiki
set -a && source .env && set +a set -a && source .env && set +a
@ -71,7 +68,10 @@ docker stack services wiki
``` ```
### First Run ### First Run
After deploying the stack, run `docker stack services wiki` to verify that all services are up and running. Post-deploy steps:
- Initialize the database: `docker exec -it wikijs-db psql -U wikijs -d wiki`
- Import data from repository (if applicable)
--- ---
@ -80,14 +80,13 @@ After deploying the stack, run `docker stack services wiki` to verify that all s
### Accessing wiki ### Accessing wiki
| Service | URL | Purpose | | Service | URL | Purpose |
|---------|-----|---------| |---------|-----|---------|
- **wikijs:** https://wiki.netgrimoire.com - **WikiJS**: http://wiki.netgrimoire.com | Documentation Server |
- **drawio:** https://draw.netgrimoire.com
### Primary Use Cases ### Primary Use Cases
Use the wiki to document and share knowledge with other NetGrimoire users. Use the wiki as a documentation server for NetGrimoire services and projects.
### NetGrimoire Integrations ### NetGrimoire Integrations
This stack integrates with other services in NetGrimoire, such as Crowdsec and Authentik, through environment variables and labels. Connects to other services in NetGrimoire, including Crowdsourced Security and Authentik.
--- ---
@ -95,33 +94,27 @@ This stack integrates with other services in NetGrimoire, such as Crowdsec and A
### Monitoring ### Monitoring
[kuma monitors from kuma.* labels] [kuma monitors from kuma.* labels]
```bash ```bash
docker stack services wiki docker stack services wiki
docker service logs -f wikijs wikijs docker service logs -f wikijs -f drawio
docker service logs -f drawio drawio
``` ```
### Backups ### Backups
Critical data should be backed up to a separate storage location, such as a cloud-based backup service or an external hard drive. Critical: `/DockerVol/wikijs-db`
Reconstructable: `/DockerVol/wikijs-data` and `/DockerVol/drawio`
### Restore ### Restore
To restore the stack, run `./deploy.sh` after verifying that all services are running and responsive. Restore the wiki Stack by running `./deploy.sh`.
--- ---
## Common Failures ## Common Failures
1. **Symptom:** Service is not responding. | Symptom | Cause | Fix |
**Cause:** Insufficient CPU resources. |---------|-------|-----|
**Fix:** Increase CPU resources for the service or scale out to additional hosts. | Service not available | No services up | Check service status with `docker stack services` |
2. **Symptom:** Data loss during backup. | Database error | Database corruption | Run `docker exec -it wikijs-db psql -U wikijs -d wiki` to initialize database |
**Cause:** Incorrect backups settings. | Drawing tool issues | DrawIO data corruption | Run `docker exec -it drawio` to restart server |
**Fix:** Verify that backups are configured correctly and run regular backup checks.
3. **Symptom:** Service crashes during startup.
**Cause:** Incompatible dependencies.
**Fix:** Update dependencies to the latest version or revert to a previous compatible version.
4. **Symptom:** Data corruption during restore.
**Cause:** Corrupted data during backup.
**Fix:** Run a full backup and then attempt to restore from it.
--- ---
@ -129,16 +122,13 @@ To restore the stack, run `./deploy.sh` after verifying that all services are ru
| Date | Commit | Summary | | Date | Commit | Summary |
|------|--------|---------| |------|--------|---------|
| 2026-05-02 | 5e2763c1 | Initial deployment of wiki stack | | 2026-05-02 | 394193bf | Initial documentation for wiki Stack |
| 2026-05-02 | 5630285d | Added security patches to dependencies | | 2026-05-02 | 5e2763c1 | Added Caddy domains and labels |
| 2026-05-02 | f74f9fa0 | Improved performance optimization for wikijs | | 2026-05-02 | 5630285d | Updated service images and environment variables |
| 2026-05-02 | 9a96d8cf | Enhanced monitoring and logging for drawio | | 2026-05-02 | f74f9fa0 | Improved documentation formatting and structure |
| 2026-05-02 | 1df34d3b | Fixed data corruption during restore | | 2026-05-02 | 9a96d8cf | Added NetGrimoire integrations section |
| 2026-05-01 | 08373d81 | Initial documentation generation | | 2026-05-02 | 1df34d3b | Fixed minor typos and formatting issues |
--- Generated by Gremlin on 2026-05-03T02:56:58.448Z
Source: swarm/wiki.yaml
## Notes Review User Guide and Changelog sections
- Generated by Gremlin on 2026-05-03T02:56:50.633Z
- Source: swarm/wiki.yaml
- Review User Guide and Changelog sections