Initial Discord bot in Docker behind a per-container Cloudflare WARP tunnel
- discord.js 14 bot with /ping and /warp, periodic WARP egress-IP logging - Dockerfile: node:22-bookworm-slim + cloudflare-warp 2026.7.1377.0 (.deb) - entrypoint boots dbus/warp-svc, registers, connects, verifies warp=on - docker-compose with NET_ADMIN, /dev/net/tun, sysctls, healthcheck - deploy script, README, CHANGELOG, lockfile generated inside Docker Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project are documented here, newest first.
|
||||
Every change is committed and pushed so the history can be followed in git as well.
|
||||
|
||||
## [1.0.0] - 2026-09-08
|
||||
|
||||
### Added
|
||||
- discord.js 14 bot (`bot/src/index.js`) with `/ping` and `/warp` slash commands.
|
||||
- Periodic Cloudflare WARP check that logs the egress IP, `warp=on` flag, colo and `warp-cli status`,
|
||||
with automatic `warp-cli connect` when the tunnel is down.
|
||||
- `docker/Dockerfile`: `node:22-bookworm-slim` with the Cloudflare WARP Debian 12 client
|
||||
(`2026.7.1377.0`) installed from the official download URL; `npm ci` runs inside the build.
|
||||
- `docker/entrypoint.sh`: starts dbus and `warp-svc`, registers, sets `mode warp`, connects, and only
|
||||
starts the bot once Cloudflare's trace endpoint reports `warp=on`.
|
||||
- `docker-compose.yml`: one self-contained service per bot (own WARP tunnel, own registration volume),
|
||||
`NET_ADMIN`, `/dev/net/tun`, required sysctls, log rotation and a `warp=on` health check.
|
||||
- `scripts/deploy.sh`: ships the committed tree to the Docker host over SSH and restarts the stack.
|
||||
- `package-lock.json` generated inside a `node:22-bookworm-slim` container (no Node on the workstation).
|
||||
- README, `.env.example`, `.gitignore`, `.dockerignore`, `.gitattributes` (LF line endings).
|
||||
|
||||
### Removed
|
||||
- Placeholder `test` file from the initial commit.
|
||||
Reference in New Issue
Block a user