| |
| |
|
|
| |
| FROM node:20-slim AS frontend-builder |
| WORKDIR /app |
|
|
| |
| RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/* |
|
|
| |
| RUN git clone https://github.com/lbjlaq/Antigravity-Manager.git . && \ |
| git fetch --tags && \ |
| echo "=== Available tags ===" && \ |
| git tag -l | grep v4 | tail -10 && \ |
| echo "=== Checking out v4.1.3 ===" && \ |
| git checkout v4.1.3 && \ |
| echo "=== Current version: $(git describe --tags) ===" && \ |
| echo "=== Commit: $(git rev-parse HEAD) ===" |
|
|
| |
| RUN npm install && npm run build |
|
|
| |
| FROM rust:1.85-slim AS backend-builder |
| WORKDIR /app |
|
|
| |
| RUN apt-get update && apt-get install -y \ |
| git \ |
| pkg-config \ |
| libssl-dev \ |
| libsqlite3-dev \ |
| libgtk-3-dev \ |
| libwebkit2gtk-4.1-dev \ |
| libayatana-appindicator3-dev \ |
| librsvg2-dev \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| RUN git clone https://github.com/lbjlaq/Antigravity-Manager.git . && \ |
| git fetch --tags && \ |
| echo "=== Checking out v4.1.3 ===" && \ |
| git checkout v4.1.3 && \ |
| echo "=== Current version: $(git describe --tags) ===" |
|
|
| |
| WORKDIR /app/src-tauri |
| RUN cargo build --release --bin antigravity_tools |
|
|
| |
| FROM debian:bookworm-slim |
| WORKDIR /app |
|
|
| |
| RUN apt-get update && apt-get install -y \ |
| libssl3 \ |
| libsqlite3-0 \ |
| ca-certificates \ |
| libgtk-3-0 \ |
| libwebkit2gtk-4.1-0 \ |
| libayatana-appindicator3-1 \ |
| librsvg2-2 \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| COPY --from=backend-builder /app/src-tauri/target/release/antigravity_tools /app/antigravity-tools |
| COPY --from=frontend-builder /app/dist /app/dist |
|
|
| |
| ENV ABV_DIST_PATH=/app/dist |
| ENV RUST_LOG=info |
| ENV API_KEY=sk-365d6f2fe26a475fb07cfe9aff787211 |
|
|
| |
| EXPOSE 7860 |
|
|
| |
| RUN mkdir -p /data/.antigravity_tools |
|
|
| |
| ENV HOME=/data |
|
|
| |
| RUN echo '{"language":"en","theme":"system","auto_refresh":true,"refresh_interval":15,"auto_sync":false,"sync_interval":5,"default_export_path":null,"auto_launch":false,"scheduled_warmup":{"enabled":false,"monitored_models":["gemini-3-flash","claude-sonnet-4-5","gemini-3-pro-high","gemini-3-pro-image"]},"quota_protection":{"enabled":false,"threshold_percentage":10,"monitored_models":["claude-sonnet-4-5","gemini-3-pro-high","gemini-3-flash","gemini-3-pro-image"]},"pinned_quota_models":{"models":["gemini-3-pro-high","gemini-3-flash","gemini-3-pro-image","claude-sonnet-4-5-thinking"]},"proxy":{"enabled":true,"allow_lan_access":true,"auth_mode":"off","port":7860,"api_key":"sk-365d6f2fe26a475fb07cfe9aff787211","admin_password":null,"auto_start":true,"custom_mapping":{},"request_timeout":120,"enable_logging":true,"upstream_proxy":{"enabled":false,"url":""},"zai":{"enabled":false,"base_url":"https://api.z.ai/api/anthropic","api_key":"","dispatch_mode":"off","model_mapping":{},"models":{"opus":"glm-4.7","sonnet":"glm-4.7","haiku":"glm-4.7"},"mcp":{"enabled":false,"web_search_enabled":false,"web_reader_enabled":false,"vision_enabled":false}},"scheduling":{"sticky_session_enabled":true,"sticky_session_ttl":3600,"rate_limit_retry_enabled":true,"rate_limit_retry_max_attempts":3,"rate_limit_retry_delay_ms":1000,"quota_protection_enabled":false,"pinned_quota_models":[]},"experimental":{"enable_signature_cache":true,"enable_tool_loop_recovery":true,"enable_cross_model_checks":true,"enable_usage_scaling":false,"context_compression_threshold_l1":0.4,"context_compression_threshold_l2":0.55,"context_compression_threshold_l3":0.7}}}' > /data/.antigravity_tools/gui_config.json |
|
|
| |
| CMD ["/app/antigravity-tools", "--headless"] |
|
|