From 27c9e1c8a509a16d3a64d22b5dc7aafbb3f28a85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Kr=C3=BCger?= Date: Fri, 12 Jun 2026 17:31:58 +0200 Subject: [PATCH] feat(code): add code-server stack with Traefik and Anthropic API support Co-Authored-By: Claude Sonnet 4.6 --- code/.env.example | 8 ++++++++ code/compose.yml | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 code/.env.example create mode 100644 code/compose.yml diff --git a/code/.env.example b/code/.env.example new file mode 100644 index 0000000..77bb952 --- /dev/null +++ b/code/.env.example @@ -0,0 +1,8 @@ +TRAEFIK_HOST=code.example.com +NETWORK_NAME=falcon_network +TIMEZONE=Europe/Amsterdam +DOCKER_USER=coder +PUID=1000 +PGID=1000 +PASSWORD=changeme +ANTHROPIC_API_KEY= diff --git a/code/compose.yml b/code/compose.yml new file mode 100644 index 0000000..4188cee --- /dev/null +++ b/code/compose.yml @@ -0,0 +1,33 @@ +services: + code: + image: codercom/code-server:latest + container_name: code + user: "${PUID:-1000}:${PGID:-1000}" + environment: + TZ: ${TIMEZONE:-Europe/Amsterdam} + DOCKER_USER: ${DOCKER_USER:-coder} + PASSWORD: ${PASSWORD} + ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY} + volumes: + - ../.data/code/config:/home/coder/.config + - ../.data/code/workspace:/home/coder/project + restart: always + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.code-redirect-web-secure.redirectscheme.scheme=https" + - "traefik.http.routers.code-web.middlewares=code-redirect-web-secure" + - "traefik.http.routers.code-web.rule=Host(`${TRAEFIK_HOST}`)" + - "traefik.http.routers.code-web.entrypoints=web" + - "traefik.http.routers.code-web-secure.rule=Host(`${TRAEFIK_HOST}`)" + - "traefik.http.routers.code-web-secure.tls.certresolver=resolver" + - "traefik.http.routers.code-web-secure.entrypoints=web-secure" + - "traefik.http.routers.code-web-secure.middlewares=security-headers@file,no-index@file" + - "traefik.http.services.code-web-secure.loadbalancer.server.port=8080" + - "traefik.docker.network=${NETWORK_NAME}" + networks: + - compose_network + +networks: + compose_network: + name: ${NETWORK_NAME} + external: true