Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/lbjlaq/Antigravity-Manager/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Docker Compose provides declarative configuration and easier management of Antigravity Manager containers. This method is ideal for persistent deployments on servers and NAS devices.

Prerequisites

  • Docker Engine 20.10+
  • Docker Compose V2 (or docker-compose 1.29+)
  • 1GB RAM recommended
  • Port 8045 available

Quick Start

Step 1: Get the Configuration

git clone https://github.com/lbjlaq/Antigravity-Manager.git
cd Antigravity-Manager/docker

Step 2: Configure Environment

Create a .env file in the same directory:
.env
# API Authentication
API_KEY=sk-your-secure-api-key-here

# Web UI Password (optional, defaults to API_KEY if not set)
WEB_PASSWORD=your-admin-password

# Logging
LOG_LEVEL=info

# Network Binding (true = localhost only, false = all interfaces)
ABV_BIND_LOCAL_ONLY=false
Security: Generate strong, unique values for API_KEY and WEB_PASSWORD. Never commit .env to version control.

Step 3: Start Services

docker compose up -d

Step 4: Verify Installation

# Check container status
docker compose ps

# View logs
docker compose logs -f

# Test health endpoint
curl http://localhost:8045/health

Docker Compose Configuration

Basic Configuration

docker-compose.yml
services:
  antigravity-manager:
    build:
      context: ..
      dockerfile: docker/Dockerfile
    image: lbjlaq/antigravity-manager
    container_name: antigravity-manager
    network_mode: host  # Direct localhost access
    volumes:
      - ~/.antigravity_tools:/root/.antigravity_tools
    environment:
      - LOG_LEVEL=${LOG_LEVEL:-info}
      - API_KEY=${API_KEY:-test}
      - ABV_BIND_LOCAL_ONLY=${ABV_BIND_LOCAL_ONLY:-true}
    restart: unless-stopped

Advanced Configuration

docker-compose.advanced.yml
services:
  antigravity-manager:
    image: lbjlaq/antigravity-manager:latest
    container_name: antigravity-manager
    
    # Use bridge network with port mapping (works on all platforms)
    ports:
      - "8045:8045"
    
    volumes:
      - antigravity-data:/root/.antigravity_tools
      # Optional: custom configuration
      - ./custom-config.json:/root/.antigravity_tools/gui_config.json:ro
    
    environment:
      # Authentication
      - API_KEY=${API_KEY}
      - WEB_PASSWORD=${WEB_PASSWORD}
      - AUTH_MODE=AllExceptHealth
      
      # Performance
      - ABV_MAX_BODY_SIZE=104857600  # 100MB
      
      # Network
      - ABV_BIND_LOCAL_ONLY=false
      - ABV_PUBLIC_URL=https://antigravity.example.com
      
      # Logging
      - LOG_LEVEL=debug
      - RUST_LOG=info
    
    # Resource limits
    deploy:
      resources:
        limits:
          cpus: '2'
          memory: 1G
        reservations:
          memory: 256M
    
    # Health check
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8045/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s
    
    restart: unless-stopped
    
    # Logging
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

volumes:
  antigravity-data:
    driver: local

Environment Variables

API_KEY
string
required
API key for authenticating AI requests.Default in compose: test (change this!)
WEB_PASSWORD
string
Separate password for Web UI login. Falls back to API_KEY if not set.
LOG_LEVEL
string
default:"info"
Options: debug, info, warn, error
ABV_BIND_LOCAL_ONLY
boolean
default:"true"
In host network mode, binds to 127.0.0.1 if true, 0.0.0.0 if false.
ABV_MAX_BODY_SIZE
integer
default:"104857600"
Maximum request size in bytes (default: 100MB)
ABV_PUBLIC_URL
string
Public URL for OAuth callbacks (e.g., behind reverse proxy)
AUTH_MODE
string
default:"AllExceptHealth"
Authentication mode: Off, Strict, AllExceptHealth, Auto

Network Modes

Best for: Direct localhost access, minimal overhead
services:
  antigravity-manager:
    network_mode: host
    environment:
      - ABV_BIND_LOCAL_ONLY=true
Host network mode doesn’t work on macOS/Windows Docker Desktop.
Access at: http://localhost:8045

Volume Management

services:
  antigravity-manager:
    volumes:
      - antigravity-data:/root/.antigravity_tools

volumes:
  antigravity-data:
    driver: local
Benefits:
  • Docker-managed lifecycle
  • Easy backup/restore
  • Platform-independent

Bind Mount

services:
  antigravity-manager:
    volumes:
      - ~/.antigravity_tools:/root/.antigravity_tools
      # Windows: C:\Users\YourName\.antigravity_tools:/root/.antigravity_tools
Benefits:
  • Direct file access
  • Easy manual editing
  • Shared across containers

Managing Services

# Start in background
docker compose up -d

# Start with rebuild
docker compose up -d --build

Health Checks

Add health checks to monitor service availability:
services:
  antigravity-manager:
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8045/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s
Check health status:
docker compose ps

Multi-Service Example

Deploy with Nginx reverse proxy:
docker-compose.full.yml
services:
  antigravity-manager:
    image: lbjlaq/antigravity-manager:latest
    container_name: antigravity
    networks:
      - app-network
    volumes:
      - antigravity-data:/root/.antigravity_tools
    environment:
      - API_KEY=${API_KEY}
      - WEB_PASSWORD=${WEB_PASSWORD}
      - ABV_BIND_LOCAL_ONLY=false
      - ABV_PUBLIC_URL=https://antigravity.example.com
    restart: unless-stopped

  nginx:
    image: nginx:alpine
    container_name: nginx-proxy
    networks:
      - app-network
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
      - ./ssl:/etc/nginx/ssl:ro
    depends_on:
      - antigravity-manager
    restart: unless-stopped

networks:
  app-network:
    driver: bridge

volumes:
  antigravity-data:
    driver: local

Backup and Restore

Backup Data

# Named volume backup
docker run --rm \
  -v antigravity-data:/data \
  -v $(pwd):/backup \
  alpine tar czf /backup/antigravity-backup-$(date +%Y%m%d).tar.gz -C /data .

# Bind mount backup
tar czf antigravity-backup-$(date +%Y%m%d).tar.gz ~/.antigravity_tools

Restore Data

# Named volume restore
docker run --rm \
  -v antigravity-data:/data \
  -v $(pwd):/backup \
  alpine tar xzf /backup/antigravity-backup-20260303.tar.gz -C /data

# Bind mount restore
tar xzf antigravity-backup-20260303.tar.gz -C ~/

Local Development Build

For local development with pre-built frontend:
docker-compose.localdist.yml
services:
  antigravity-manager:
    build:
      context: ..
      dockerfile: docker/Dockerfile.localdist
      args:
        USE_MIRROR: auto
    image: antigravity-manager:dev
    # ... rest of config
Build and run:
# Build frontend locally first
npm ci --legacy-peer-deps
npm run build

# Build and start container
docker compose -f docker-compose.yml -f docker-compose.localdist.yml up -d --build

Troubleshooting

Change the host port mapping:
ports:
  - "3000:8045"  # Use port 3000 instead
Fix permissions:
sudo chown -R $USER:$USER ~/.antigravity_tools
chmod -R 755 ~/.antigravity_tools
Ensure:
  1. Using bridge network mode (not host)
  2. ABV_BIND_LOCAL_ONLY=false
  3. Firewall allows port 8045
  4. Access via host IP: http://192.168.x.x:8045
Check logs:
docker compose logs --tail=50 antigravity-manager
Disable restart to debug:
restart: "no"

Next Steps

Headless Mode Features

Learn about headless-specific configuration options

Reverse Proxy Setup

Add HTTPS and custom domain with Nginx/Caddy

API Integration

Connect Claude CLI, OpenCode, and other clients

Monitoring

Set up logging and monitoring for production

Build docs developers (and LLMs) love