README documents what FlexHub is (rebrand of git.s8n.ru), the git.s8n.ru/flexhub.s8n.ru hostname split, and the layout of the Forgejo custom/ tree. docs/DEPLOY.md covers updating the homepage template, theme CSS, app.ini, image assets, and the Traefik file provider router on nullstone. Repo previously contained only a one-line README + the home.tmpl override; this fills in the operator-facing docs so flexhub becomes the canonical project page (referenced as a mirror by ARRFLIX).
92 lines
3.8 KiB
Markdown
92 lines
3.8 KiB
Markdown
# FlexHub
|
|
|
|
> Where I flex my projects, code, and stuff. A place to flex.
|
|
|
|
FlexHub is the brand wrapped around the operator's self-hosted Forgejo
|
|
instance. Same git host, same backing store — different paint job.
|
|
|
|
- **Canonical URL:** <https://git.s8n.ru/> (admin / push / clone)
|
|
- **FlexHub-branded entry:** <https://flexhub.s8n.ru/> (public showcase)
|
|
|
|
Both hostnames hit the same Forgejo container on `nullstone`. Repos,
|
|
PATs, SSH keys, issues — all identical. Login sessions are independent
|
|
(separate cookies per hostname).
|
|
|
|
This repository holds the customisations that turn vanilla Forgejo into
|
|
FlexHub: the homepage template, the theme CSS, the logo set, and the
|
|
deploy notes that wire it all together.
|
|
|
|
---
|
|
|
|
## What's in this repo
|
|
|
|
| Path | Purpose |
|
|
| ------------------------------------------------ | ------------------------------------------------------------------------ |
|
|
| `templates/home.tmpl` | FlexHub homepage. Wordmark + tagline + 4-card "agent grid" feature list. |
|
|
| `public/assets/css/theme-flexhub.css` *(planned)* | The orange/black/white theme. `DEFAULT_THEME = flexhub` in `app.ini`. |
|
|
| `public/assets/img/` *(planned)* | Logo + wordmark + favicons (`logo.svg`, `flexhub-wordmark.png`, etc). |
|
|
| `docs/DEPLOY.md` | How to roll a change out to the live `nullstone` Forgejo container. |
|
|
| `LICENSE` | MIT. |
|
|
|
|
The repo is currently template-only; assets get checked in as the
|
|
operator pulls them out of the live Forgejo `custom/` tree. The
|
|
authoritative copies live on `nullstone` until then.
|
|
|
|
---
|
|
|
|
## How it's wired up
|
|
|
|
Forgejo loads any file under `custom/` to override the equivalent
|
|
built-in. On `nullstone` that directory is bind-mounted from the host:
|
|
|
|
```
|
|
/home/docker/forgejo/data/gitea/ → /var/lib/gitea/ (in-container)
|
|
└─ custom/
|
|
├─ conf/app.ini
|
|
├─ templates/home.tmpl ← from this repo
|
|
├─ public/assets/css/... ← from this repo
|
|
└─ public/assets/img/... ← from this repo
|
|
```
|
|
|
|
The Forgejo container itself is described by the compose file at
|
|
`/opt/docker/forgejo/docker-compose.yml`. Container data + customisations
|
|
live under `/home/docker/forgejo/` because the root volume on nullstone
|
|
is small.
|
|
|
|
Key settings in `app.ini` that drive the rebrand:
|
|
|
|
```ini
|
|
APP_NAME = FlexHub
|
|
DEFAULT_THEME = flexhub
|
|
THEMES = forgejo-auto,forgejo-light,forgejo-dark,flexhub,veilor
|
|
```
|
|
|
|
The two hostnames are split at the Traefik layer, not Forgejo:
|
|
|
|
- `git.s8n.ru` — docker-provider router, gated by `no-guest@file` ACL.
|
|
- `flexhub.s8n.ru` — file-provider router, **public**, no `no-guest`,
|
|
rate-limited login. Service `flexhub-svc` points at `http://forgejo:3000`
|
|
directly (avoids the file→docker provider race; see DEPLOY.md).
|
|
|
|
---
|
|
|
|
## Contributing
|
|
|
|
Don't. This is the operator's personal git host — accounts are
|
|
invite-only, registration is disabled. If you've found a real bug in
|
|
Forgejo itself, file it upstream at
|
|
<https://codeberg.org/forgejo/forgejo>. If you've found a typo on the
|
|
homepage, open an issue here and the operator will get to it.
|
|
|
|
Public read access is intentional: browse repos, clone what's MIT or
|
|
AGPL, mirror what you like. That's the "flex" part.
|
|
|
|
---
|
|
|
|
## See also
|
|
|
|
- **Deploy + update workflow:** [`docs/DEPLOY.md`](docs/DEPLOY.md)
|
|
- **Initial Forgejo bring-up runbook (operator-internal):**
|
|
`_github/infra/forgejo/DEPLOY.md` in the `ai-lab` repo.
|
|
- **ARRFLIX project** references `flexhub.s8n.ru` as a mirror — that's
|
|
this instance.
|