Spaces:
Running
Running
| FROM debian:bookworm-slim | |
| WORKDIR /app | |
| RUN apt-get update && \ | |
| apt-get install -y wget ca-certificates curl jq gettext-base inotify-tools && \ | |
| rm -rf /var/lib/apt/lists/* | |
| # Download latest CLI Proxy API for Linux | |
| RUN LATEST_URL=$(curl -s https://api.github.com/repos/router-for-me/CLIProxyAPI/releases/latest | jq -r '.assets[] | select(.name | test("linux.*amd64.*tar.gz")) | .browser_download_url') && \ | |
| echo "Downloading: $LATEST_URL" && \ | |
| wget -q "$LATEST_URL" -O cli-proxy-api.tar.gz && \ | |
| tar -xzf cli-proxy-api.tar.gz && \ | |
| find . -name "cli-proxy-api" -type f -exec mv {} /app/cli-proxy-api \; && \ | |
| rm -rf cli-proxy-api.tar.gz CLIProxyAPI* && \ | |
| chmod +x /app/cli-proxy-api | |
| # Copy config template | |
| COPY config.yaml /app/config.template.yaml | |
| # Create Supabase sync script | |
| COPY supabase-sync.sh /app/supabase-sync.sh | |
| RUN chmod +x /app/supabase-sync.sh | |
| # Create startup script | |
| RUN echo '#!/bin/bash\n\ | |
| \n\ | |
| # Replace environment variables in config\n\ | |
| envsubst < /app/config.template.yaml > /app/config.yaml\n\ | |
| \n\ | |
| # Create auths directory\n\ | |
| mkdir -p /app/auths\n\ | |
| \n\ | |
| # Download auth files from Supabase Storage\n\ | |
| echo "=== Downloading auth files from Supabase ==="\n\ | |
| /app/supabase-sync.sh download || echo "Supabase download skipped"\n\ | |
| \n\ | |
| echo "=== Auth files loaded: $(find /app/auths -name "*.json" | wc -l) ==="\n\ | |
| \n\ | |
| # Start file watcher in background (sync changes to Supabase)\n\ | |
| /app/supabase-sync.sh watch &\n\ | |
| \n\ | |
| exec ./cli-proxy-api -config config.yaml\n\ | |
| ' > /app/start.sh && chmod +x /app/start.sh | |
| EXPOSE 7860 | |
| CMD ["/app/start.sh"] | |