Skip to content

Docker Compose Deployment

Edit page

This guide covers deploying Hagicode with Docker Compose. For most users, this is the default deployment path across development, testing, and production environments.

If you want to see the full flow first, start with the video tutorial:

Watch the video tutorial on Bilibili

Video Content Includes:

  • Complete demonstration of Docker Compose deployment process
  • Configuration file generation and modification instructions
  • Service startup and verification steps
  • Common issues and solutions

Video duration: approximately 15 minutes

Before starting, ensure your system has Docker and Docker Compose installed.

Download and install Docker Desktop for Windows

After installation, ensure Docker Desktop is running.

Download and install Docker Desktop for Mac

After installation, ensure Docker Desktop is running.

Install Docker using your package manager:

Install Docker on Ubuntu/Debian
sudo apt-get update
sudo apt-get install docker.io docker-compose-plugin

After installation, start Docker service:

Terminal window
sudo systemctl start docker
sudo systemctl enable docker

After installation, run the following commands to verify Docker and Docker Compose are installed correctly:

Terminal window
docker --version
docker compose version

1. Generate Docker Compose Configuration File

Section titled “1. Generate Docker Compose Configuration File”
  1. Open Docker Compose Builder (standalone site)
  2. Fill in the configuration according to your needs:
    • Select API provider (Zhipu AI, Anthropic Official, or Custom API)
    • Configure ports, database, working directory, and other options
    • Select Image Source: Choose the appropriate image source based on your network environment
  3. Click the generate button to get the docker-compose.yml configuration
  4. Save the generated configuration as a docker-compose.yml file
  5. If needed, create a .env file to configure sensitive information

The generator supports three image source options:

Docker Hub

  • Image Address: newbe36524/hagicode:{tag}
  • Applicable Scenarios: Suitable for users with Docker Hub mirror acceleration
  • Advantages: Official image source, timely updates, stable access
  • Notes: Mirror acceleration may need to be configured in some regions

Azure Container Registry (ACR)

  • Image Address: hagicode.azurecr.io/hagicode:{tag}
  • Applicable Scenarios: Suitable for users unable to access Docker Hub locally
  • Advantages: Provides alternative image source, resolves network access issues
  • Notes: Images stay synchronized with Docker Hub, but may have brief delays

Alibaba Cloud Container Registry (ACR)

  • Image Address: registry.cn-hangzhou.aliyuncs.com/hagicode/hagicode:{tag}
  • Applicable Scenarios: Suitable for domestic users, stable and fast network access
  • Advantages: Alibaba Cloud domestic nodes, fast access speed, high stability
  • Notes: Alibaba ACR images stay synchronized with Docker Hub, usually within 30 minutes

Execute the following command in the directory where your docker-compose.yml is located:

Terminal window
docker compose up -d

This command will:

  • Download and start the Hagicode containers defined by the generated template
  • Create and configure the network
  • Initialize the default data directory and runtime dependencies

Check if containers are running:

Terminal window
docker compose ps

You should see the services defined in your generated template in “running” status.

To view all service logs:

Terminal window
# View all service logs
docker compose logs
# View Hagicode service logs
docker compose logs hagicode
# Real-time log following
docker compose logs -f hagicode

If you need to modify the configuration (such as changing ports, switching API provider, etc.), you can:

  1. Regenerate new configuration using Docker Compose Builder (standalone site)
  2. Manually edit docker-compose.yml and .env files
  3. Restart services to make configuration take effect:
Terminal window
docker compose restart

After successful service startup, access through your browser:

http://localhost:45000

The supported Docker Compose path uses SQLite data files with persistent volumes by default. If you need to inspect mount points or plan backups, review the volume and data-directory mappings in the generated docker-compose.yml.

Now you have successfully deployed Hagicode. Next, connect a real project in the web interface, then continue with Wizard Setup or Create Proposal Session.

If you prefer the desktop application deployment method, please refer to Desktop Installation Guide.