1.9 KiB
1.9 KiB
Plan: Enable Porthole Web and Worker Applications
Overview
Currently, the porthole namespace has infrastructure deployed (MinIO, Postgres, Redis) but the main applications are intentionally disabled until container images are built. This plan outlines the steps to build images and enable the web and worker services.
Current State
- ✅ MinIO, Postgres, Redis running
- ✅ Cleanup CronJob active
- ❌ Web app disabled (no UI)
- ❌ Worker app disabled (no job processing)
- ❌ Migration job disabled (no schema migrations)
Required Actions
1. Build Container Images
Build and push multi-arch images for both web and worker:
# Build web app (Next.js standalone)
REGISTRY=gitea-gitea-http.taildb3494.ts.net TAG=dev
docker buildx build --platform linux/amd64,linux/arm64 \
-f apps/web/Dockerfile \
-t "$REGISTRY/will/porthole-web:$TAG" \
--push .
# Build worker app (includes ffmpeg + exiftool)
REGISTRY=gitea-gitea-http.taildb3494.ts.net TAG=dev
docker buildx build --platform linux/amd64,linux/arm64 \
-f apps/worker/Dockerfile \
-t "$REGISTRY/will/porthole-worker:$TAG" \
--push .
2. Update Helm Values
Enable services in helm/porthole/values-cluster.yaml:
# Enable main applications
web:
enabled: true
worker:
enabled: true
# Enable migrations
jobs:
migrate:
enabled: true
3. ArgoCD Sync
Changes will sync automatically, or trigger manually:
argocd app sync porthole
Verification
After sync, verify:
# Check deployments
kubectl get deployments -n porthole
# Check pods are running
kubectl get pods -n porthole
# Check logs
kubectl logs -f deployment/porthole-porthole-web -n porthole
kubectl logs -f deployment/porthole-porthole-worker -n porthole
Testing
- Access web UI via Tailscale ingress:
app.taildb3494.ts.net - Upload a test asset and verify worker processes it
- Check MinIO for stored objects
- Verify database migrations ran successfully