- Add melange.yaml for distroless package build - Add apko.yaml for minimal container image - Add GitHub Actions workflow for melange/apko CI build - Add Kubernetes manifests (deployment, service, configmap, secret, redis) - Update Dockerfile, .gitignore, and docker-compose.yml
34 lines
798 B
YAML
34 lines
798 B
YAML
services:
|
|
web:
|
|
image: docker.io/k2patel/apcupsd-client:latest
|
|
container_name: apcups-dashboard
|
|
ports:
|
|
- "10280:8000"
|
|
env_file: .env
|
|
environment:
|
|
- REDIS_URL=redis://redis:6379/0
|
|
depends_on:
|
|
redis:
|
|
condition: service_healthy
|
|
restart: always
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-fsS", "http://localhost:8000/healthz"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 15s
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: redis
|
|
restart: always
|
|
command: ["redis-server", "--appendonly", "yes", "--appendfsync", "everysec"]
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 10s
|
|
timeout: 3s
|
|
retries: 5
|
|
volumes:
|
|
- redis-data:/data
|
|
volumes:
|
|
redis-data:
|