feat(base): complete base infrastructure with socket proxy#314
Open
Problemsolver0070 wants to merge 1 commit intoillbnm:masterfrom
Open
feat(base): complete base infrastructure with socket proxy#314Problemsolver0070 wants to merge 1 commit intoillbnm:masterfrom
Problemsolver0070 wants to merge 1 commit intoillbnm:masterfrom
Conversation
- Add tecnativa/docker-socket-proxy:0.2.0 for Docker socket security - Traefik now connects via tcp://socket-proxy:2375 (no direct socket mount) - Portainer connects via socket proxy with -H flag - Watchtower connects via socket proxy with DOCKER_HOST env - Internal 'socket' network isolates Docker API access - Update Portainer to 2.21.3 per issue spec - Change Watchtower schedule to 3:00 AM daily - Add ntfy notification integration for Watchtower - Add watchtower.enable labels on all services - Add .env.example with all configurable parameters - Rewrite README with DNS config, TLS cert instructions, security docs All 4 containers: Traefik, Portainer, Watchtower, Socket Proxy. All services have healthchecks and proper dependency ordering. Generated/reviewed with: claude-opus-4-6 Reviewed/verified with: GPT-5.3 Codex Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #1 — [BOUNTY $180] Base Stack — 基础设施
Complete base infrastructure with all 4 required services:
v3.1.6) — Reverse proxy with auto HTTPS (Let's Encrypt HTTP + DNS challenge), Dashboard with BasicAuth, 80→443 redirect2.21.3) — Docker management UI via socket proxy, Authentik OAuth integration1.7.1) — Auto container updates at 3:00 AM daily, label-scoped, ntfy notificationstecnativa/docker-socket-proxy:0.2.0) — Secure Docker socket isolation on internal-only networkKey Design Decisions
socket-proxyon an internalsocketnetworktcp://socket-proxy:2375endpoint (updated inconfig/traefik/traefik.yml)-H tcp://socket-proxy:2375command flagDOCKER_HOST=tcp://socket-proxy:2375Acceptance Criteria
docker compose up -dstarts all 4 containers (Traefik, Portainer, Watchtower, Socket Proxy)traefik.ymlentryPoints)traefik.${DOMAIN}serves Dashboard with BasicAuth protectionportainer.${DOMAIN}serves Portainer UIproxyexternal network for Traefik discoverytecnativa/docker-socket-proxy.env.examplewith all required variables documentedFiles Changed
stacks/base/docker-compose.yml— Added socket-proxy, updated all servicesstacks/base/.env.example— New: all configurable parametersstacks/base/README.md— Complete rewrite with DNS, TLS, security docsstacks/base/docker-compose.local.yml— Updated for socket proxyconfig/traefik/traefik.yml— Docker endpoint → socket-proxyTest Plan
docker compose configvalidatesdocker compose up -dstarts 4 containersdocker compose psshows all healthycurl -I http://SERVER_IPreturns 301/302 to HTTPScurl https://traefik.DOMAIN/api/versionreturns 200 (with auth)curl https://portainer.DOMAIN/api/statusreturns 200proxynetwork andtraefik.enable=trueis discoveredGenerated/reviewed with: claude-opus-4-6
Reviewed/verified with: GPT-5.3 Codex
🤖 Generated with Claude Code