feat: rebuild xiteng.site homelab platform
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
services:
|
||||
code-server:
|
||||
image: codercom/code-server:4.132.0-39
|
||||
container_name: code-server
|
||||
restart: unless-stopped
|
||||
user: "${CODE_SERVER_UID:-1000}:${CODE_SERVER_GID:-1000}"
|
||||
environment:
|
||||
DOCKER_USER: ${CODE_SERVER_USER:-coder}
|
||||
command:
|
||||
- --bind-addr
|
||||
- 0.0.0.0:8080
|
||||
- --auth
|
||||
- none
|
||||
- /home/coder/homelab
|
||||
volumes:
|
||||
- ./config:/home/coder/.config:rw
|
||||
- ./local:/home/coder/.local:rw
|
||||
- ../:/home/coder/homelab:rw
|
||||
networks:
|
||||
- homelab_net
|
||||
labels:
|
||||
# Traefik
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.code-server.rule=Host(`code.xiteng.site`)"
|
||||
- "traefik.http.routers.code-server.entrypoints=websecure"
|
||||
- "traefik.http.routers.code-server.tls=true"
|
||||
- "traefik.http.routers.code-server.tls.certresolver=cfresolver"
|
||||
- "traefik.http.routers.code-server.service=code-server"
|
||||
- "traefik.http.routers.code-server.middlewares=code-server-scheme,code-server-auth"
|
||||
- "traefik.http.services.code-server.loadbalancer.server.port=8080"
|
||||
- "traefik.http.routers.code-server-http.rule=Host(`code.xiteng.site`)"
|
||||
- "traefik.http.routers.code-server-http.entrypoints=web"
|
||||
- "traefik.http.routers.code-server-http.service=code-server"
|
||||
- "traefik.http.routers.code-server-http.middlewares=code-server-scheme,code-server-auth"
|
||||
- "xiteng.site.cache.code-server.enabled=true"
|
||||
- "xiteng.site.cache.code-server.routers=code-server,code-server-http"
|
||||
- "xiteng.site.cache.code-server.paths=/assets/,/static/"
|
||||
- "xiteng.site.cache.code-server.edge-ttl=604800"
|
||||
- "xiteng.site.cache.code-server.stale-while-revalidate=86400"
|
||||
# Authentik ForwardAuth
|
||||
- "traefik.http.middlewares.code-server-scheme.headers.customrequestheaders.X-Forwarded-Proto=https"
|
||||
- "traefik.http.middlewares.code-server-auth.forwardauth.address=http://authentik-outpost:9000/outpost.goauthentik.io/auth/traefik"
|
||||
- "traefik.http.middlewares.code-server-auth.forwardauth.trustForwardHeader=true"
|
||||
- "traefik.http.middlewares.code-server-auth.forwardauth.authResponseHeaders=X-authentik-username,X-authentik-groups,X-authentik-email,X-authentik-name"
|
||||
- "xiteng.site.component.code-server.enabled=true"
|
||||
- "xiteng.site.component.code-server.name=Code Server"
|
||||
- "xiteng.site.component.code-server.description=浏览器中的 VS Code 工作台,用于维护 Homelab 配置与脚本。"
|
||||
- "xiteng.site.component.code-server.section=services"
|
||||
- "xiteng.site.component.code-server.category=开发与协作"
|
||||
- "xiteng.site.component.code-server.url=https://code.xiteng.site"
|
||||
- "xiteng.site.component.code-server.access=sso"
|
||||
- "xiteng.site.component.code-server.access-label=需要 Authentik"
|
||||
- "xiteng.site.component.code-server.icon=CS"
|
||||
- "xiteng.site.component.code-server.icon-url=https://cdn.simpleicons.org/coder"
|
||||
- "xiteng.site.component.code-server.accent=blue"
|
||||
- "xiteng.site.component.code-server.order=130"
|
||||
- "xiteng.site.component.code-server.monitor.enabled=true"
|
||||
- "xiteng.site.component.code-server.monitor.url=http://code-server:8080/healthz"
|
||||
|
||||
networks:
|
||||
homelab_net:
|
||||
external: true
|
||||
Reference in New Issue
Block a user