Adam French 7afd1be81b
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 6s
Add Gitea entrypoint to generate app.ini from template on startup
Since app.ini is gitignored, the container needs to create it at
runtime. The entrypoint copies the template on first start, then
Gitea's env var overrides handle secrets.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 14:40:38 +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%