Brings docker-compose.prod.yml in line with the box: Redis password, sealed internal network, dropped capabilities and no-new-privileges, bridge on web only. Documents FN_REDIS_PASSWORD in .env.example. The deploy uses the box's own compose, so nothing running changes. Validated with docker compose config.
Brings docker-compose.prod.yml in line with the box: Redis password, sealed internal network, dropped capabilities and no-new-privileges, bridge on web only. Documents FN_REDIS_PASSWORD in .env.example. The deploy uses the box's own compose, so nothing running changes. Validated with docker compose config.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
The box's compose got these during the security audit and the repo copy
did not, so a rebuild from the repo would have undone them:
- Redis requires a password (FN_REDIS_PASSWORD, written to a config file
inside the container; healthcheck via REDISCLI_AUTH); FN_REDIS_URL
carries it.
- The internal network is internal: true, so the database and Redis have
no route off the box. The relay reaches S3 and APNs through web.
- relay, redis and obfs4bridge drop every capability; db keeps the five its
entrypoint needs. All four set no-new-privileges.
- obfs4bridge is on web only.
.env.example documents FN_REDIS_PASSWORD. The deploy itself uses the
box's compose, so this changes nothing that is running.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Brings docker-compose.prod.yml in line with the box: Redis password, sealed internal network, dropped capabilities and no-new-privileges, bridge on web only. Documents FN_REDIS_PASSWORD in .env.example. The deploy uses the box's own compose, so nothing running changes. Validated with docker compose config.
🤖 Generated with Claude Code