Adam French 6f2a32aabb
Some checks failed
Deploy with Docker Compose / deploy (push) Failing after 6s
Install gettext in searxng container for envsubst support
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 14:07:57 +01:00
2026-01-25 20:14:17 +00:00
2026-02-18 21:45:17 +00:00
2026-02-18 21:45:17 +00:00

web_server

Dockerized multi-service personal website.

Untracked Files Requiring Manual Setup

These files are git-ignored and must be created or obtained manually before running the stack.

.env

Environment variables used by all services. No example file is provided — see docker-compose.yml for the full list of referenced variables (database credentials, hostnames, secrets, Spotify OAuth, Gitea tokens, etc.).

gitea/config/app.ini

Gitea application config. Copy from the template and fill in secrets:

cp gitea/config/app.ini.template gitea/config/app.ini

Populate LFS_JWT_SECRET, SECRET_KEY, INTERNAL_TOKEN, JWT_SECRET, and the database PASSWD.

searxng/settings.yml

SearXNG settings. Copy from the template:

cp searxng/settings.yml.template searxng/settings.yml

The template uses environment variable substitution (${BASE_URL}, ${SEARXNG_SECRET_KEY}) at container build time, so this file is generated by the Dockerfile's entrypoint.sh. If running outside Docker, fill in values manually.

certbot/conf/ and certbot/www/

Let's Encrypt certificate storage. In production, certbot populates these automatically on first run. For local/dev use, either:

  • Use dev mode (docker-compose.dev.yml) which skips SSL, or
  • Place self-signed certs in certbot/conf/live/localhost/ (fullchain.pem, privkey.pem).

backend/token/

Directory where the backend persists Spotify OAuth tokens (spotify_token.json). Created automatically at runtime — no manual setup needed, but the directory is git-ignored so it won't exist on a fresh clone. Docker mounts ./backend/token/:/backend/token so the directory is created by Docker.

icecast2/fallback_music/

MP3 files used as fallback music for the Icecast2/Liquidsoap radio stream. Place at least one .mp3 file here. A .gitkeep is tracked to preserve the directory.

gitea-runner/act_runner

The Gitea Actions runner binary. Download from Gitea's releases for your platform and place in gitea-runner/.

gitea-runner/.runner

Runner registration state file. Generated automatically when gitea-runner/run.sh runs for the first time (requires GITEA_RUNNER_REGISTRATION_TOKEN in .env).

Description
A web server hosted locally on my rasberry pi
Readme 228 MiB
Languages
Vue 57.3%
Go 24.9%
JavaScript 8.5%
Rust 3.4%
CSS 3%
Other 2.9%