Complete Docker Compose orchestration for web applications with integrated services.
- sumeetsaini_com: Frontend web application
- vulkan: Backend API service
- arcanecodex: Hugo static site
- gateway: Nginx reverse proxy with SSL termination
- plausible: Self-hosted analytics (optional in dev, enabled in production)
- mailcow: Email service (production only)
# Start development environment (without analytics)
docker compose -f docker-compose.yml -f docker-compose-dev.yml up -d
# Start with Plausible analytics (optional)
docker compose -f docker-compose.yml -f docker-compose-dev.yml -f docker-compose-plausible.yml up -d
# View logs
docker compose logs -f
# Stop services
docker compose downAccess:
- Frontend: http://localhost
- API: http://vulkan.localhost
- Arcane Codex: http://arcanecodex.localhost
- Analytics (if enabled): http://stats.localhost
Setup for development with Plausible:
- Add to
/etc/hosts:127.0.0.1 stats.localhost - Visit http://stats.localhost/register to create an account
- Add sites:
sumeetsaini.comandarcanecodex.dev - Note: localhost traffic is automatically filtered by Plausible
Email: Enabled by default with auto-generated Ethereal credentials for testing.
# Deploy all services (including Plausible analytics)
docker compose -f docker-compose.yml -f docker-compose-prod.yml -f docker-compose-mailcow.yml -f docker-compose-plausible.yml up -dProduction Analytics Setup:
- Obtain SSL certificate:
sudo certbot certonly --standalone -d stats.sumeetsaini.com - Visit https://stats.sumeetsaini.com/register to create admin account
- Add sites:
sumeetsaini.comandarcanecodex.dev - Analytics are automatically tracked on production domains
Wildcard certificates managed via Let's Encrypt with automatic renewal.
Automated via GitHub Actions on push to main:
- Builds Docker images (linux/arm64)
- Pushes to GitHub Container Registry
- Syncs configs to production server
- Deploys services with secrets
- Runs health checks
- Cleans up old images
Security: All secrets managed via GitHub Secrets
- Modern web application frontend
- RESTful API backend
- Static site generation with Hugo
- Self-hosted privacy-friendly analytics
- Rate-limited contact system
- Security-hardened services
- Containerized deployment
- Unified Docker orchestration
- SSL certificate management
- Integrated email service