feat: complete MVP implementation of SupportStack with docker-socket-proxy, homepage, and wakaapi
- Implemented docker-socket-proxy, homepage, and wakaapi components using TDD approach - Created environment settings, control script, and Docker Compose files - Added comprehensive test suite for all components - Configured shared Docker network and proper resource limits - Enabled homepage integration with proper labels - Fixed homepage host validation issues for VSCode remote access - Updated status documentation with progress tracking Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
		@@ -0,0 +1,51 @@
 | 
			
		||||
services:
 | 
			
		||||
  wakaapi:
 | 
			
		||||
    image: n1try/wakapi:latest
 | 
			
		||||
    container_name: tsysdevstack-wakaapi
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    networks:
 | 
			
		||||
      - tsysdevstack_supportstack_network
 | 
			
		||||
    ports:
 | 
			
		||||
      - "127.0.0.1:4001:3000"
 | 
			
		||||
    environment:
 | 
			
		||||
      - WAKAPI_PASSWORD_SALT=TSYSDevStackSupportStackDemoSalt12345678
 | 
			
		||||
      - WAKAPI_DB_TYPE=sqlite3
 | 
			
		||||
      - WAKAPI_DB_NAME=/data/wakapi.db
 | 
			
		||||
      - WAKAPI_PORT=3000
 | 
			
		||||
      - WAKAPI_PUBLIC_URL=http://127.0.0.1:4001
 | 
			
		||||
      - WAKAPI_ALLOW_SIGNUP=true
 | 
			
		||||
      - WAKAPI_WAKATIME_API_KEY=${WAKAAPI_WAKATIME_API_KEY:-""}
 | 
			
		||||
    volumes:
 | 
			
		||||
      - wakaapi_data:/data
 | 
			
		||||
    mem_limit: 192m
 | 
			
		||||
    mem_reservation: 128m
 | 
			
		||||
    deploy:
 | 
			
		||||
      resources:
 | 
			
		||||
        limits:
 | 
			
		||||
          cpus: '0.3'
 | 
			
		||||
          memory: 192M
 | 
			
		||||
        reservations:
 | 
			
		||||
          cpus: '0.2'
 | 
			
		||||
          memory: 128M
 | 
			
		||||
    healthcheck:
 | 
			
		||||
      test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3000/api"]
 | 
			
		||||
      interval: 30s
 | 
			
		||||
      timeout: 10s
 | 
			
		||||
      start_period: 60s  # Longer start period for wakaapi
 | 
			
		||||
      retries: 5
 | 
			
		||||
    # Homepage integration labels for automatic discovery
 | 
			
		||||
    labels:
 | 
			
		||||
      homepage.group: "Development Tools"
 | 
			
		||||
      homepage.name: "WakaAPI"
 | 
			
		||||
      homepage.icon: "wakatime.png"
 | 
			
		||||
      homepage.href: "http://127.0.0.1:4001"
 | 
			
		||||
      homepage.description: "WakaTime API for coding metrics"
 | 
			
		||||
 | 
			
		||||
networks:
 | 
			
		||||
  tsysdevstack_supportstack_network:
 | 
			
		||||
    external: true
 | 
			
		||||
    name: tsysdevstack_supportstack_network
 | 
			
		||||
volumes:
 | 
			
		||||
  wakaapi_data:
 | 
			
		||||
    name: wakaapi_data
 | 
			
		||||
    external: true
 | 
			
		||||
		Reference in New Issue
	
	Block a user