feat: FrankenPHP runtime, per-provider health probes, and ContributionAggregator #2

Merged
haylan merged 15 commits from feat/frankenphp into main 2026-05-30 12:32:11 +00:00
Showing only changes of commit 5b07eae672 - Show all commits
+32 -10
View File
@@ -27,15 +27,36 @@ https://your-host/graph.svg?theme=dark
- Docker + Docker Compose - Docker + Docker Compose
### 1. Clone and configure ### 1. Create a `docker-compose.yml`
```bash Use the pre-built image — no need to clone the repo:
git clone https://git.arthurerlich.de/haylan/git-contribution-graph.git
cd git-contribution-graph ```yaml
cp .env .env.local services:
graph:
image: git.arthurerlich.de/haylan/git-contribution-graph:latest
ports:
- "8080:8080"
env_file:
- .env.local
volumes:
- cache:/var/www/html/var/cache
volumes:
cache:
``` ```
Edit `.env.local` with your credentials: The image is published to the Gitea container registry. Pull it manually with:
```bash
docker pull git.arthurerlich.de/haylan/git-contribution-graph:latest
```
Semver tags are published (`0`, `0.0`, `0.0.1`) alongside `latest` — see the [container registry](https://git.arthurerlich.de/haylan/-/packages/container/git-contribution-graph/latest) for all available tags.
### 2. Configure
Create a `.env.local` file next to your `docker-compose.yml`:
```dotenv ```dotenv
APP_SECRET=<generate with: openssl rand -hex 16> APP_SECRET=<generate with: openssl rand -hex 16>
@@ -60,7 +81,7 @@ ALLOWED_HOSTS=
Only configure the platforms you use — unused ones are silently skipped. Only configure the platforms you use — unused ones are silently skipped.
### 2. Start ### 3. Start
```bash ```bash
docker compose up -d docker compose up -d
@@ -68,10 +89,11 @@ docker compose up -d
The service listens on **port 8080** by default. Put Traefik or nginx in front of it for HTTPS. The service listens on **port 8080** by default. Put Traefik or nginx in front of it for HTTPS.
### 3. Health check ### 4. Verify
``` ```bash
GET /health → {"status":"ok"} curl http://localhost:8080/health
# {"status":"ok"}
``` ```
--- ---