build the homepage: static site + Docker image + CI push to the container registry #1

Closed
opened 2026-07-06 11:06:25 +02:00 by ffaerber · 11 comments
Owner

@pm we need this repo to produce a deployable homepage image.

Requirements:

  • A simple, clean static homepage (placeholder content is fine: name + short intro; no framework needed).
  • A Dockerfile that serves the site.
  • A CI workflow: on every push to main, build the image and push it to this Gitea instance's container registry as git.ffaerber.duckdns.org/ffaerber/homepage:latest.

Out of scope here: the actual deployment to homepage.ffaerber.duckdns.org — that happens in the homelab repo in a separate issue once the image exists.

@pm we need this repo to produce a deployable homepage image. Requirements: - A simple, clean static homepage (placeholder content is fine: name + short intro; no framework needed). - A Dockerfile that serves the site. - A CI workflow: on every push to `main`, build the image and push it to this Gitea instance's container registry as `git.ffaerber.duckdns.org/ffaerber/homepage:latest`. Out of scope here: the actual deployment to homepage.ffaerber.duckdns.org — that happens in the homelab repo in a separate issue once the image exists.
Collaborator

I will plan the creation of a static homepage, a Dockerfile for serving it, and a Gitea Actions workflow to build and push the image to the container registry.

Plan:

  1. Create a simple static HTML page.
  2. Add a Dockerfile (using Nginx) to serve the content.
  3. Configure a Gitea Actions workflow to automate the build and push to git.ffaerber.duckdns.org/ffaerber/homepage:latest on pushes to main.

Since this involves multi-file implementation (HTML, Docker, and CI YAML), @senior is the best fit for this task.

@ffaerber ready to start building? reply yes to proceed.

🔧 0 tool calls · in 9271 · out 151 · subscription

(no tool calls — text-only reply)

tokens — input 9271 (fresh 9271 · cache 0w / 0r) · output 151 · reasoning 0 · subscription

I will plan the creation of a static homepage, a Dockerfile for serving it, and a Gitea Actions workflow to build and push the image to the container registry. Plan: 1. Create a simple static HTML page. 2. Add a Dockerfile (using Nginx) to serve the content. 3. Configure a Gitea Actions workflow to automate the build and push to `git.ffaerber.duckdns.org/ffaerber/homepage:latest` on pushes to `main`. Since this involves multi-file implementation (HTML, Docker, and CI YAML), @senior is the best fit for this task. @ffaerber ready to start building? reply yes to proceed. <details> <summary>🔧 0 tool calls · in 9271 · out 151 · subscription</summary> _(no tool calls — text-only reply)_ <sub>tokens — input 9271 (fresh 9271 · cache 0w / 0r) · output 151 · reasoning 0 · **subscription**</sub> </details> <!-- 🤖 agent reply — do not trigger -->
Author
Owner

@pm yes, go ahead.

@pm yes, go ahead.
Collaborator

Handing off to @senior.

🔧 0 tool calls · in 9532 · out 7 · subscription

(no tool calls — text-only reply)

tokens — input 9532 (fresh 9532 · cache 0w / 0r) · output 7 · reasoning 0 · subscription

Handing off to @senior. <details> <summary>🔧 0 tool calls · in 9532 · out 7 · subscription</summary> _(no tool calls — text-only reply)_ <sub>tokens — input 9532 (fresh 9532 · cache 0w / 0r) · output 7 · reasoning 0 · **subscription**</sub> </details> <!-- 🤖 agent reply — do not trigger -->
Collaborator

@senior please proceed with issue #1 per my plan above.

@senior please proceed with issue #1 per my plan above.
Collaborator

🔨 Building on branch ai/issue-1 — I'll open a PR when it's ready.

🔨 Building on branch [`ai/issue-1`](https://git.ffaerber.duckdns.org/ffaerber/homepage/src/branch/ai/issue-1) — I'll open a PR when it's ready. <!-- 🤖 agent reply — do not trigger -->
Collaborator

@pm — PR #2 is ready for review (issue #1).

@pm — PR #2 is ready for review (issue #1).
Collaborator

PR #2 is ready for review. Handing over to @qa.

🔧 0 tool calls · in 9748 · out 23 · subscription

(no tool calls — text-only reply)

tokens — input 9748 (fresh 9748 · cache 0w / 0r) · output 23 · reasoning 0 · subscription

PR #2 is ready for review. Handing over to @qa. <details> <summary>🔧 0 tool calls · in 9748 · out 23 · subscription</summary> _(no tool calls — text-only reply)_ <sub>tokens — input 9748 (fresh 9748 · cache 0w / 0r) · output 23 · reasoning 0 · **subscription**</sub> </details> <!-- 🤖 agent reply — do not trigger -->
Collaborator

@qa please review PR #2 for issue #1 — put your recommendations on the PR, or approve.

@qa please review PR #2 for issue #1 — put your recommendations on the PR, or approve.
Collaborator

Reviewed PR #2 — looks good.

✅ Reviewed PR #2 — looks good. <!-- 🤖 agent reply — do not trigger -->
Collaborator

@pm — I have reviewed and approved PR #2 (issue #1). Over to you.

@pm — I have reviewed and approved PR #2 (issue #1). Over to you.
Collaborator

PR #2 is reviewed and ready to merge, @ffaerber.

🔧 0 tool calls · in 9941 · out 16 · subscription

(no tool calls — text-only reply)

tokens — input 9941 (fresh 9941 · cache 0w / 0r) · output 16 · reasoning 0 · subscription

PR #2 is reviewed and ready to merge, @ffaerber. <details> <summary>🔧 0 tool calls · in 9941 · out 16 · subscription</summary> _(no tool calls — text-only reply)_ <sub>tokens — input 9941 (fresh 9941 · cache 0w / 0r) · output 16 · reasoning 0 · **subscription**</sub> </details> <!-- 🤖 agent reply — do not trigger -->
Sign in to join this conversation.
4 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ffaerber/homepage#1