For instructions on how to run the website, please head over to the frontend/README.md
.
This project automatically builds multi-architecture Docker images for both AMD64 and ARM64 platforms.
The following tagging strategy is used:
main
- Latest stable version from main branchdev
- Latest development version from dev branch<branch-name>
- Latest version from any other branch (e.g.,60-helm-chart
)latest
- Alias formain
branch
<branch-name>-<short-sha>
- Specific commit from a branch (e.g.,main-a1b2c3d
)
- Pull requests build images but don't push them (for testing only)
Pull the latest stable image:
docker pull ghcr.io/your-org/your-repo:latest
Pull a specific branch:
docker pull ghcr.io/your-org/your-repo:dev
Pull a specific commit:
docker pull ghcr.io/your-org/your-repo:main-a1b2c3d
All images support both:
linux/amd64
(Intel/AMD 64-bit)linux/arm64
(ARM 64-bit, including Apple Silicon)
Docker will automatically pull the correct architecture for your platform.
This project includes an automated deployment pipeline that deploys to Kubernetes using Helm charts.
- 🟢 Production (
main
branch) →production
namespace - 🟡 Beta/Staging (
dev
branch) →staging
namespace - 🔵 Development (feature branches) →
development
namespace
When you push to any tracked branch:
- Docker image is built for multiple architectures (AMD64/ARM64)
- Image is tagged with branch name and commit SHA
- Helm chart is deployed with environment-specific configuration
- Application is automatically available at the configured domain
You can also deploy manually:
- Go to Actions → Deploy to Kubernetes
- Select environment (
prod
,beta
,dev
) - Specify image tag to deploy
- Run the workflow
See k8s/README.md
for detailed setup instructions including:
- Kubernetes cluster configuration
- GitHub secrets setup
- Environment-specific values
- Troubleshooting guide
Each deployment provides detailed status information including:
- Deployed image tag
- Kubernetes resources created
- Health check results
- Access URLs
This project uses GitHub Environments to track active deployments and provide easy access to deployed applications.
You can see active environments in the repository sidebar:
- 🟢 Production - Live production environment
- 🟡 Beta/Staging - Staging environment for testing
- 🔵 Development - Development environment for feature testing
- Go to Actions → Setup GitHub Environments
- Click "Run workflow" to automatically create environments
- Update domain URLs in values files
- Configure environment secrets
- 📍 Active deployment tracking in GitHub UI
- 🔗 Direct links to deployed applications
- 🛡️ Protection rules for production deployments
- 📊 Deployment history and status monitoring
- 🔐 Environment-specific secrets management
For detailed setup instructions, see .github/ENVIRONMENTS.md
.