No description
- TypeScript 71.5%
- Dockerfile 28.5%
| .forgejo/workflows | ||
| config | ||
| src | ||
| types | ||
| .editorconfig | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| biome.json | ||
| compose.yml | ||
| Dockerfile | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
Bun Forgejo Pages Proxy
A simple static page server built with Bun that proxies files from a Forgejo repository.
Features
- Serves static files (HTML, CSS, JS, images, etc.) from a
static-pagesbranch - Automatic
index.htmlresolution for directory paths - Proper MIME type handling via
mimepackage - Minimal and fast Bun server
Requirements
- Bun >= 1.2
- A Forgejo instance with an API token
- Repositories with a
static-pagesbranch (or any configured viaBRANCH)
Setup
1. Clone the repository
git clone https://git.creations.works/creations/forgejoPages
cd forgejoPages
2. Install dependencies
bun install
3. Configure environment
Copy .env.example to .env and fill in your Forgejo details:
cp .env.example .env
4. Start the server
bun run dev
Environment Variables
| Name | Description |
|---|---|
HOST |
Host to bind the server to |
PORT |
Port to run the server on |
FORGEJO_URL |
URL to your Forgejo instance |
FORGEJO_TOKEN |
Personal access token with repo read access |
BRANCH |
Branch to serve files from (e.g., static-pages) |
REPO |
Repository name to use (defaults to pages) |
How It Works
Requesting /username/path/to/file will fetch:
https://FORGEJO_URL/api/v1/repos/username/pages/raw/path/to/file?ref=BRANCH
If a request ends in /, it automatically appends index.html.