Docker Build and Push to Azure Container Registry

This document explains how to build and push Docker images for the echo project to Azure Container Registry (ACR).

Docker Build and Push to Azure Container Registry

This document explains how to build and push Docker images for the echo project to Azure Container Registry (ACR).

Overview

The project consists of three containerized services:

  • echo-docs: Next.js documentation site (port 3002)
  • echo-server: Express.js backend API (port 3001)
  • agent: Python LiveKit agent for real-time voice/video processing

Architecture

Dockerfiles

  1. apps/docs/Dockerfile: Multi-stage Next.js build with standalone output
  2. packages/server/Dockerfile: Multi-stage Node.js build with pnpm workspaces
  3. packages/agent/Dockerfile: Python build with UV package manager

CI/CD Pipeline

The GitHub Actions workflow .github/workflows/docker-build-push.yml automatically builds and pushes images on:

  • Push to main branch
  • Manual trigger via workflow_dispatch

The pipeline runs three parallel jobs, one for each service.

Version Tagging Strategy

Images are tagged using the format: YYYY.MM.NN

  • YYYY: Current year (e.g., 2025)
  • MM: Current month (e.g., 11)
  • NN: GitHub Actions run number (auto-incrementing, zero-padded)

Examples:

  • 2025.11.01 - First build in November 2025
  • 2025.11.02 - Second build in November 2025
  • 2025.12.01 - First build in December 2025 (counter resets each month)

Each image also gets tagged with latest for convenience.