This project builds Pétrolette in a Docker environment, ready to use for self-hosting.
Since v1.8.0, Pétrolette is an Edge app (Cloudflare Worker). This image runs it locally with Wrangler's Worker runtime (wrangler dev): no Cloudflare account is needed.
- Docker / Docker Compose
- Traefik reverse proxy with Let's Encrypt SSL (optional)
docker compose up -d --buildThen open http://localhost:8010.
The container exposes port 8788 and has a healthcheck on /__health (docker compose ps shows its status).
In docker-compose.yml:
- Remove the
portssection. - Uncomment the
networksandlabelssections, and adapt the network name and cert resolver to your Traefik setup. - Set the
DOMAINvariable (in a.envfile next todocker-compose.yml, e.g.DOMAIN=news.example.com). - Run
docker compose up -d --build.
HTTPS is recommended: feeds are stored in the browser and synchronized through RemoteStorage (OAuth round-trip to the instance). Nothing is stored server-side, so no volume is needed.
Keep the ports section and point your reverse proxy to port 8010 on the host.
The source is cloned at build time. To get the latest version, rebuild without cache:
docker compose build --no-cache && docker compose up -dTo build a specific branch or tag, pass PETROLETTE_REF:
docker compose build --no-cache --build-arg PETROLETTE_REF=<branch-or-tag>wrangler devis a development runtime. It works fine for self-hosting, but upstream only targets Cloudflare deployment (npm run deploy:edge), so a future release may require changes here.- Logs are verbose (
STREAM: ...lines for each feed); this is harmless.
- Software Repository: https://framagit.org/yphil/petrolette (consider donating)