## Summary - nginx container (`containers/cv/`) downloads and serves a content tarball at startup (same pattern as quartz) - ArgoCD app + k8s manifests (deployment, service, Tailscale ingress) - Caddy route for `cv.ops.eblu.me` - Deploy workflow: resolves "latest" or specific version from Forgejo packages, updates deployment, syncs ArgoCD - Content is built and released from the separate [cv repo](https://forge.ops.eblu.me/eblume/cv) ## Deployment steps (after merge) 1. `mise run container-tag-and-release cv v1.0.0` 2. Run "Release CV" workflow in cv repo (SPECIFIC_VERSION `v0.1.0`) 3. Run "Deploy CV" workflow in blumeops (default: latest) 4. `mise run provision-indri -- --tags caddy` 5. Verify at `https://cv.ops.eblu.me/` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/169
21 lines
542 B
Docker
21 lines
542 B
Docker
# CV/Resume Static Site Server
|
|
# Downloads and serves a CV site tarball (HTML+CSS+PDF) via nginx
|
|
#
|
|
# Configuration (via environment):
|
|
# CV_RELEASE_URL - URL to download the CV content tarball
|
|
#
|
|
# The container downloads the tarball on startup, extracts it, and serves with nginx.
|
|
|
|
FROM nginx:alpine
|
|
|
|
# Install curl for downloading release assets
|
|
RUN apk add --no-cache curl
|
|
|
|
# Copy startup script and nginx config
|
|
COPY start.sh /start.sh
|
|
COPY default.conf /etc/nginx/conf.d/default.conf
|
|
RUN chmod +x /start.sh
|
|
|
|
EXPOSE 80
|
|
|
|
CMD ["/start.sh"]
|