Forgejo: Mobile-responsive custom CSS via custom/ directory mount #347

Closed
opened 2026-05-06 00:10:19 +00:00 by forgejo_admin · 0 comments
Contributor

Type

Feature

Lineage

Standalone -- discovered during SSO wiring session (2026-05-05). Phase 2.5: mobile access for SSO'd services.

Repo

ldraney/pal-e-platform

User Story

As a platform admin on mobile,
I want Forgejo's UI to have better mobile typography and navigation
So that I can review PRs and issues from my phone.

Context

Forgejo (Gitea fork) has documented support for custom CSS via a custom/public/css/ directory. Current Helm values set ui.DEFAULT_THEME = "forgejo-dark" but do NOT mount a custom/ directory.

How it works: Forgejo natively supports a custom/ directory overlay -- any CSS file placed in custom/public/css/ is automatically loaded on every page. No nginx tricks needed. We create a ConfigMap containing our responsive CSS, mount it as a volume at the custom/public/css/ path in the Forgejo pod via Helm values. Forgejo picks it up automatically.

Default UI is already responsive but can be improved (nav menu toggle, font sizes, PR diff readability on narrow screens).

File Targets

Files the agent should modify or create:

  • terraform/modules/forgejo/main.tf -- add ConfigMap and volume mount for custom/ CSS to Helm values
  • terraform/modules/forgejo/variables.tf -- new variables if needed

Files the agent should NOT touch:

  • terraform/modules/harbor/main.tf -- Harbor is a separate ticket
  • terraform/modules/storage/main.tf -- MinIO is a separate ticket

Acceptance Criteria

  • ConfigMap with custom CSS mounted at custom/public/css/ in Forgejo pod
  • Improved mobile nav and typography on 390px viewport
  • PR diff view readable on mobile
  • Mobile-first responsive CSS: base styles for phone, @media (min-width: 600px) for desktop
  • No regressions on desktop layout
  • Volume mount wired through Terraform Helm values

Test Expectations

  • tofu validate passes
  • tofu plan -lock=false shows expected changes to Forgejo Helm release
  • Manual: verify Forgejo UI on mobile browser after apply

Constraints

  • Follow Forgejo custom directory conventions (documented in Gitea docs)
  • Follow existing Terraform module patterns in terraform/modules/forgejo/
  • CSS must not break forgejo-dark theme
  • Mobile-first breakpoint at 600px per platform CSS philosophy

Checklist

  • PR opened
  • tofu validate passes
  • No unrelated changes
  • project-pal-e-platform -- platform project
  • #336 -- SSO: Wire Forgejo OIDC
### Type Feature ### Lineage Standalone -- discovered during SSO wiring session (2026-05-05). Phase 2.5: mobile access for SSO'd services. ### Repo `ldraney/pal-e-platform` ### User Story As a platform admin on mobile, I want Forgejo's UI to have better mobile typography and navigation So that I can review PRs and issues from my phone. ### Context Forgejo (Gitea fork) has documented support for custom CSS via a `custom/public/css/` directory. Current Helm values set `ui.DEFAULT_THEME = "forgejo-dark"` but do NOT mount a custom/ directory. **How it works:** Forgejo natively supports a `custom/` directory overlay -- any CSS file placed in `custom/public/css/` is automatically loaded on every page. No nginx tricks needed. We create a ConfigMap containing our responsive CSS, mount it as a volume at the `custom/public/css/` path in the Forgejo pod via Helm values. Forgejo picks it up automatically. Default UI is already responsive but can be improved (nav menu toggle, font sizes, PR diff readability on narrow screens). ### File Targets Files the agent should modify or create: - `terraform/modules/forgejo/main.tf` -- add ConfigMap and volume mount for custom/ CSS to Helm values - `terraform/modules/forgejo/variables.tf` -- new variables if needed Files the agent should NOT touch: - `terraform/modules/harbor/main.tf` -- Harbor is a separate ticket - `terraform/modules/storage/main.tf` -- MinIO is a separate ticket ### Acceptance Criteria - [ ] ConfigMap with custom CSS mounted at custom/public/css/ in Forgejo pod - [ ] Improved mobile nav and typography on 390px viewport - [ ] PR diff view readable on mobile - [ ] Mobile-first responsive CSS: base styles for phone, `@media (min-width: 600px)` for desktop - [ ] No regressions on desktop layout - [ ] Volume mount wired through Terraform Helm values ### Test Expectations - [ ] `tofu validate` passes - [ ] `tofu plan -lock=false` shows expected changes to Forgejo Helm release - [ ] Manual: verify Forgejo UI on mobile browser after apply ### Constraints - Follow Forgejo custom directory conventions (documented in Gitea docs) - Follow existing Terraform module patterns in `terraform/modules/forgejo/` - CSS must not break forgejo-dark theme - Mobile-first breakpoint at 600px per platform CSS philosophy ### Checklist - [ ] PR opened - [ ] `tofu validate` passes - [ ] No unrelated changes ### Related - `project-pal-e-platform` -- platform project - `#336` -- SSO: Wire Forgejo OIDC
forgejo_admin 2026-05-06 02:11:02 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ldraney/pal-e-platform#347
No description provided.