Just some scripts to keep the server documented. It is not meant to be directly reusable, you might use it as a base for your Docker/OCI hosting with incus.
All with incus
- Configurable with a single ".env" file.
- Installs wiki.js with Postgres
- Backups Postgres with postgresus
- Installs the nuttyb-configurator from source using podman build.
- Rebuilds the configurator on Github webhook requests.
If you wanna run this on your own you need:
- A recent version of incus (using 6.19)
- podman (using 5.7.0)
- just (using 1.44)
Clone this repo
git clone --recurse-submodules https://github.com/nuttyb-community/server.git server
cd serverPostgresus and webhook need a writable directory:
sudo chown -R 1000000:1000000 runCopy and adjust .env.sample
cp .env.sample .envThen you can do:
just installTo undo:
just remove-projectTo host this you need to have a reverse proxy pointing to each container.
This is the relevant part of our Caddyfile:
nuttyb.org {
redir https://wiki.nuttyb.org
}
configurator.nuttyb.org {
reverse_proxy 10.197.31.4:80
}
wiki.nuttyb.org {
reverse_proxy 10.197.31.2:3000
}
webhook.nuttyb.org {
reverse_proxy 10.197.31.5:5000
}- GitHub triggers a webhook (using a shared secret)
- The webhook writes anything to a file (currently a date)
- Systemd picks up that file change and triggers a rebuild script: scripts/rebuild_configurator.sh
If you want to try the rebuild process:
just install-rebuild-configuratorTo remove it:
just uninstall-rebuild-configuratorMIT