Table of Contents
Infrastructure & Deployment
Table of Contents
Server
* Host: kimsufi.flyfucker.fr * IP: 5.196.88.17 * SSH: fatal@5.196.88.17:8090 * Hardware: Intel Atom N2800 (4 threads @ 1.86GHz), 3.2 GB RAM, 757 GB disk * Note: Old CPU does not support SSE4.2 — Node.js 22 apps will crash with “Illegal instruction”
Architecture
* nginx (Docker, alpine) — reverse proxy on ports 80/443, terminates TLS, routes to backends * All services run in separate containers on an internal Docker network * No ports exposed to host except 80/443 on the nginx container
TLS Certificates
* Issuer: Let's Encrypt (R3) * Type: Single certificate with wildcard SAN for *.mere-mortal.net * Valid until: 19 December 2026 * Auto-renewal: certbot timer configured * Cert path on host: /home/fatal/nginx/certs/{fullchain,privkey}.pem
Domains
All subdomains point to 5.196.88.17 via DNS A records:
* wiki.mere-mortal.net → DokuWiki * dokuwiki.mere-mortal.net → DokuWiki (alias) * keepass.mere-mortal.net → KeeWeb * privatebin.mere-mortal.net → PrivateBin * shaarli.mere-mortal.net → Shaarli * kuma.mere-mortal.net → Uptime Kuma * revodb.mere-mortal.net → NocoDB * game.mere-mortal.net → Solitaire game (static)
Docker Compose
The stack is defined in /home/fatal/docker-compose.yml on the server. Each service has its own named volume for persistent data.
Current services:
| Service | Image | Container | Port | Subdomain |
| — | — | — | — | — |
| nginx | nginx:alpine | mere-nginx | 80/443 | *.mere-mortal.net |
| DokuWiki | linuxserver/dokuwiki:latest | mere-dokuwiki | 80 (int) | wiki/, dokuwiki/ |
| KeeWeb | ghcr.io/keeweb/keeweb:latest | mere-keepass | 80 (int) | keepass/ |
| PrivateBin | privatebin/fs:latest | mere-privatebin | 8080 (int) | privatebin/ |
| Shaarli | shaarli/shaarli:latest | mere-shaarli | 80 (int) | shaarli/ |
| Uptime Kuma | louislam/uptime-kuma:2 | mere-kuma | 3001 (int) | kuma/ |
| NocoDB | nocodb/nocodb:0.250.0 | mere-nocodb | 8080 (int) | revodb/ |
| Solitaire | (static files) | — | — | game/ |
Directory Layout
/home/fatal/ ├── docker-compose.yml # Service definitions ├── nginx/ │ ├── conf.d/ # nginx server blocks │ │ ├── mere-mortal.conf # Main service proxy rules │ │ ├── dokuwiki.conf # DokuWiki server block │ │ └── game.conf # Solitaire static file server │ ├── certs/ # TLS certificates │ ├── logs/ # nginx access/error logs │ └── game/ # Klondike solitaire static files
