diff --git a/Caddyfile.local b/Caddyfile.local new file mode 100644 index 0000000..9ab7e62 --- /dev/null +++ b/Caddyfile.local @@ -0,0 +1,12 @@ +:80 { + # LSP - Language Server Protocol for code intelligence + reverse_proxy /ws/* http://windmill_extra:3001 + + # Debugger - Interactive debugging via DAP WebSocket + handle_path /ws_debug/* { + reverse_proxy http://windmill_extra:3003 + } + + # Default: Windmill server + reverse_proxy /* http://windmill_server:8000 +} diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index aa4b50a..e85e345 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -8,10 +8,8 @@ x-logging: &default-logging compress: "true" networks: - traefik-net: - external: true # Traefik管理下のネットワーク windmill-internal: - driver: bridge # Windmill内部通信用 + driver: bridge services: db: @@ -25,7 +23,7 @@ services: expose: - 5432 environment: - POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_PASSWORD: ${DATABASE_PASSWORD} POSTGRES_DB: windmill healthcheck: test: [ "CMD-SHELL", "pg_isready -U postgres" ] @@ -39,46 +37,30 @@ services: windmill_server: image: ${WM_IMAGE} container_name: windmill_server - pull_policy: always + pull_policy: if_not_present deploy: replicas: 1 restart: unless-stopped expose: - 8000 - - 2525 environment: - DATABASE_URL=${DATABASE_URL} - MODE=server + - BASE_URL=http://localhost depends_on: db: condition: service_healthy volumes: - worker_logs:/tmp/windmill/logs - - /home/windmill/windmill:/workspace - labels: - # Traefik設定 - - "traefik.enable=true" - # HTTPSルーター - - "traefik.http.routers.windmill.rule=Host(`windmill.keinafarm.net`)" - - "traefik.http.routers.windmill.entrypoints=websecure" - - "traefik.http.routers.windmill.tls=true" - - "traefik.http.routers.windmill.tls.certresolver=letsencrypt" - - "traefik.http.services.windmill.loadbalancer.server.port=8000" - # HTTPからHTTPSへのリダイレクト - - "traefik.http.routers.windmill-http.rule=Host(`windmill.keinafarm.net`)" - - "traefik.http.routers.windmill-http.entrypoints=web" - - "traefik.http.routers.windmill-http.middlewares=windmill-https-redirect" - - "traefik.http.middlewares.windmill-https-redirect.redirectscheme.scheme=https" networks: - - traefik-net - windmill-internal logging: *default-logging windmill_worker: image: ${WM_IMAGE} - pull_policy: always + pull_policy: if_not_present deploy: - replicas: 3 + replicas: 1 resources: limits: cpus: "1" @@ -95,14 +77,13 @@ services: - /var/run/docker.sock:/var/run/docker.sock - worker_dependency_cache:/tmp/windmill/cache - worker_logs:/tmp/windmill/logs - - /home/windmill/windmill:/workspace networks: - windmill-internal logging: *default-logging windmill_worker_native: image: ${WM_IMAGE} - pull_policy: always + pull_policy: if_not_present deploy: replicas: 1 resources: @@ -125,35 +106,12 @@ services: - windmill-internal logging: *default-logging - windmill_indexer: - image: ${WM_IMAGE} - pull_policy: always - deploy: - replicas: 0 # 必要に応じて1に変更 - restart: unless-stopped - expose: - - 8002 - environment: - - PORT=8002 - - DATABASE_URL=${DATABASE_URL} - - MODE=indexer - depends_on: - db: - condition: service_healthy - volumes: - - windmill_index:/tmp/windmill/search - - worker_logs:/tmp/windmill/logs - networks: - - windmill-internal - logging: *default-logging - windmill_extra: - image: ghcr.io/windmill-labs/windmill-extra:latest - pull_policy: always + image: ghcr.io/windmill-labs/windmill-extra:${WM_VERSION} + pull_policy: if_not_present restart: unless-stopped expose: - 3001 - - 3002 - 3003 environment: - ENABLE_LSP=true @@ -168,15 +126,27 @@ services: networks: - windmill-internal logging: *default-logging - # Caddyは使わない(Traefikを使用) - # caddy: - # deploy: - # replicas: 0 + + caddy: + image: caddy:2.9-alpine + restart: unless-stopped + ports: + - "80:80" + volumes: + - ./Caddyfile.local:/etc/caddy/Caddyfile + - caddy_data:/data + - caddy_config:/config + networks: + - windmill-internal + logging: *default-logging + depends_on: + - windmill_server + - windmill_extra volumes: db_data: null worker_dependency_cache: null worker_logs: null - worker_memory: null - windmill_index: null lsp_cache: null + caddy_data: null + caddy_config: null diff --git a/workflows/u/antigravity/git_sync__flow/a.sh b/workflows/u/antigravity/git_sync__flow/a.sh index ced16cc..c150bbf 100644 --- a/workflows/u/antigravity/git_sync__flow/a.sh +++ b/workflows/u/antigravity/git_sync__flow/a.sh @@ -50,8 +50,10 @@ if [[ -n $(git status --porcelain) ]]; then git commit -m "Auto-sync: ${TIMESTAMP}" echo -e "${YELLOW}Pushing to Gitea...${NC}" - # リモートURLにトークンが含まれていない場合、プッシュに失敗する可能性がある - # ここでは既存のoriginを使用 + # リモートの変更を先に取り込む(ローカルPCからのpushがある場合に備えて) + git pull --rebase origin main || { + echo -e "${RED}Failed to pull from remote. Trying push anyway...${NC}" + } git push origin main || { echo -e "${RED}Failed to push. Need credentials in git remote url or credential helper.${NC}" echo -e "${YELLOW}Hint: git remote set-url origin https://@gitea.keinafarm.net/...${NC}"