Argo CD
Declarative GitOps continuous delivery tool for Kubernetes.
Overview
Argo CD is a declarative GitOps continuous delivery tool specifically designed for Kubernetes environments. Born from the need to apply Git-based workflows to Kubernetes deployments, Argo CD treats Git repositories as the single source of truth for application configurations and desired system state. This approach eliminates configuration drift and provides complete audit trails for all deployment changes. This Docker stack runs Argo CD server in insecure mode, making it ideal for development environments, proof-of-concepts, or local testing scenarios where you need to quickly evaluate GitOps workflows without the complexity of full Kubernetes TLS setup. The container exposes the web UI and API server, allowing you to define applications, connect Git repositories, and observe deployment status through an intuitive dashboard. Development teams transitioning to GitOps, platform engineers building CI/CD pipelines, and organizations seeking to standardize Kubernetes deployments will find this configuration valuable for experimentation and learning. While production deployments typically require full Kubernetes installation with proper RBAC and TLS, this containerized approach lets you explore Argo CD's declarative application management, automated synchronization, and rollback capabilities without infrastructure overhead.
Key Features
- GitOps-based deployments using Git repositories as the source of truth
- Declarative application definitions with YAML manifests
- Automated synchronization with manual override capabilities
- Real-time application health monitoring and drift detection
- One-click rollback to previous application versions
- Multi-cluster deployment management from single interface
- Resource hooks for custom deployment lifecycle actions
- Web-based UI for visual application topology and status monitoring
Common Use Cases
- 1Development teams learning GitOps workflows before Kubernetes deployment
- 2Platform engineers prototyping continuous delivery pipelines
- 3Organizations evaluating GitOps tools for Kubernetes deployments
- 4DevOps training environments for hands-on GitOps experience
- 5Local testing of application manifests and deployment strategies
- 6Demonstration environments for showcasing GitOps capabilities
- 7Integration testing with Git repositories and webhook configurations
Prerequisites
- Docker and Docker Compose installed with minimum 1GB available RAM
- Basic understanding of Kubernetes concepts and YAML manifests
- Git repository with Kubernetes application definitions ready for testing
- Port 8080 available on the host system for web interface access
- Familiarity with GitOps principles and declarative configuration management
- Argo CD CLI installed locally for command-line operations (optional but recommended)
For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms
docker-compose.yml
docker-compose.yml
1services: 2 argocd: 3 image: quay.io/argoproj/argocd:latest4 container_name: argocd5 command: ["argocd-server", "--insecure"]6 restart: unless-stopped7 ports: 8 - "8080:8080"9 volumes: 10 - argocd_data:/home/argocd1112volumes: 13 argocd_data: .env Template
.env
1# Use kubectl for full ArgoCD setup2# This is a simplified standalone versionUsage Notes
- 1Docs: https://argo-cd.readthedocs.io/en/stable/
- 2Access at http://localhost:8080 - running in insecure mode
- 3For production: deploy via Kubernetes manifests or Helm
- 4Initial admin password: kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath='{.data.password}' | base64 -d
- 5Install CLI: brew install argocd (or download from releases)
- 6App-of-Apps pattern recommended for managing multiple applications
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 argocd:5 image: quay.io/argoproj/argocd:latest6 container_name: argocd7 command: ["argocd-server", "--insecure"]8 restart: unless-stopped9 ports:10 - "8080:8080"11 volumes:12 - argocd_data:/home/argocd1314volumes:15 argocd_data:16EOF1718# 2. Create the .env file19cat > .env << 'EOF'20# Use kubectl for full ArgoCD setup21# This is a simplified standalone version22EOF2324# 3. Start the services25docker compose up -d2627# 4. View logs28docker compose logs -fOne-Liner
Run this command to download and set up the recipe in one step:
terminal
1curl -fsSL https://docker.recipes/api/recipes/argocd/run | bashTroubleshooting
- Connection refused on port 8080: Verify container is running and port mapping is correct in docker-compose.yml
- Application sync fails with 'repository not found': Check Git repository URL and ensure it's publicly accessible or configure proper credentials
- Health status shows 'Unknown' for applications: Verify Kubernetes manifests are valid and resources are properly defined in the target repository
- UI shows blank or loading indefinitely: Clear browser cache and ensure argocd-server is running with --insecure flag for development environments
- Cannot create applications: Confirm the target repository contains valid Kubernetes YAML files in the specified path
- Sync operation stuck in 'Progressing' state: Check application logs and verify target cluster connectivity and permissions
Community Notes
Loading...
Loading notes...
Download Recipe Kit
Get all files in a ready-to-deploy package
Includes docker-compose.yml, .env template, README, and license
Ad Space
Shortcuts: C CopyF FavoriteD Download