services: cat-bodhi: build: context: . args: CAT_BODHI_REF: eaf9d27b4ebe3821da983106a78aa1c745532527 CAT_BODHI_ARCHIVE_SHA256: 73257f7c9832dd06f958e43cc41d1dccff91788fe49d5384c104d24c75862d4d # GPU 加速:取消下面注释(需先安装 nvidia-container-toolkit) # TORCH_INDEX: https://download.pytorch.org/whl/cu126 container_name: cat-bodhi restart: unless-stopped env_file: - .env environment: - PORT=8080 - SPRITE_SEG_ROOT=/app/sprite_alpha_seg_pytorch - SPRITE_SEG_PYTHON=/usr/local/bin/python - SPRITE_SEG_CHECKPOINT=/app/sprite_alpha_seg_pytorch/checkpoints/unet_sprite_ft.pt - SPRITE_SEG_OUT_DIR=/app/sprite_alpha_seg_pytorch/outputs/cat_match volumes: # 模型与推理代码来自固定的上游提交,只有生成结果需要持久化。 - ./data/sprite-output:/app/sprite_alpha_seg_pytorch/outputs:rw # AI 生成图片持久化(可选,不挂载则容器重启后丢失) - ./data/assets-ai:/app/assets/ai:rw networks: - homelab_net # GPU 支持:取消下面注释(需先安装 nvidia-container-toolkit) # deploy: # resources: # reservations: # devices: # - driver: nvidia # count: 1 # capabilities: [gpu] labels: # ========== Traefik ========== - "traefik.enable=true" # HTTPS router (cert management) - "traefik.http.routers.cat-bodhi.rule=Host(`cat-bodhi.xiteng.site`)" - "traefik.http.routers.cat-bodhi.entrypoints=websecure" - "traefik.http.routers.cat-bodhi.tls=true" - "traefik.http.routers.cat-bodhi.tls.certresolver=cfresolver" - "traefik.http.services.cat-bodhi.loadbalancer.server.port=8080" # HTTP router (Cloudflare Tunnel ingress) - "traefik.http.routers.cat-bodhi-http.rule=Host(`cat-bodhi.xiteng.site`)" - "traefik.http.routers.cat-bodhi-http.service=cat-bodhi" - "traefik.http.routers.cat-bodhi-http.entrypoints=web" - "xiteng.site.cache.cat-bodhi.enabled=true" - "xiteng.site.cache.cat-bodhi.routers=cat-bodhi,cat-bodhi-http" - "xiteng.site.cache.cat-bodhi.paths=/assets/,/data/assets-ai/" - "xiteng.site.cache.cat-bodhi.edge-ttl=604800" - "xiteng.site.cache.cat-bodhi.stale-while-revalidate=86400" - "xiteng.site.component.cat-bodhi.enabled=true" - "xiteng.site.component.cat-bodhi.name=猫猫盘珠日记" - "xiteng.site.component.cat-bodhi.description=文玩手串与猫咪主题游戏,以及 Sprite 抠图导入工具。" - "xiteng.site.component.cat-bodhi.section=services" - "xiteng.site.component.cat-bodhi.category=作品与实验" - "xiteng.site.component.cat-bodhi.url=https://cat-bodhi.xiteng.site" - "xiteng.site.component.cat-bodhi.access=public" - "xiteng.site.component.cat-bodhi.access-label=无需登录" - "xiteng.site.component.cat-bodhi.icon=猫" - "xiteng.site.component.cat-bodhi.accent=yellow" - "xiteng.site.component.cat-bodhi.order=300" - "xiteng.site.component.cat-bodhi.navigation=new-tab" - "xiteng.site.component.cat-bodhi.portal-link=embedded" - "org.opencontainers.image.source=https://github.com/ziyuezhou1/CAT-BODHI" - "org.opencontainers.image.revision=eaf9d27b4ebe3821da983106a78aa1c745532527" networks: homelab_net: external: true