Files
porthole/docs/plans/2025-12-26-enable-apps-plan.md
2025-12-26 12:41:36 -08:00

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