Claude Docker Compose file
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# ============================================================
|
||||
# Claude Code - Docker Swarm Stack (Option 1: Minimal)
|
||||
# ============================================================
|
||||
# Uses your Claude Pro/Max subscription via an OAuth token.
|
||||
# No API key = no per-token charges.
|
||||
#
|
||||
# One-time setup (run on your host, NOT inside the container):
|
||||
# 1. Install Claude Code locally: npm install -g @anthropic-ai/claude-code
|
||||
# 2. Generate a long-lived token: claude setup-token
|
||||
# (opens browser, authorize with your claude.ai account)
|
||||
# 3. Copy the printed token (starts with sk-ant-oat01-...)
|
||||
# 4. Store it as a Docker secret:
|
||||
# echo -n "sk-ant-oat01-..." | docker secret create claude_oauth_token -
|
||||
# 5. Deploy:
|
||||
# docker stack deploy -c claude-code-swarm-minimal.yml claude
|
||||
# ============================================================
|
||||
|
||||
version: "3.8"
|
||||
|
||||
secrets:
|
||||
claude_oauth_token:
|
||||
external: true # Created with: echo -n "sk-ant-oat01-..." | docker secret create claude_oauth_token -
|
||||
|
||||
services:
|
||||
claude-code:
|
||||
image: ghcr.io/anthropics/claude-code:latest
|
||||
stdin_open: true # Required for interactive terminal
|
||||
tty: true # Required for interactive terminal
|
||||
working_dir: /workspace
|
||||
secrets:
|
||||
- claude_oauth_token
|
||||
environment:
|
||||
# Tells Claude Code to use the OAuth token (subscription), not an API key
|
||||
- CLAUDE_CODE_OAUTH_TOKEN_FILE=/run/secrets/claude_oauth_token
|
||||
volumes:
|
||||
- workspace:/workspace
|
||||
networks:
|
||||
- claude-net
|
||||
deploy:
|
||||
replicas: 1
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
delay: 5s
|
||||
max_attempts: 3
|
||||
|
||||
volumes:
|
||||
workspace:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
claude-net:
|
||||
driver: overlay
|
||||
|
||||
Reference in New Issue
Block a user