Sign inSign up

manatactical/forgejo-report-tool

By manatactical

โ€ขUpdated 5 months ago

Privacy-first bug and feature report tool for Forgejo-hosted projects.

Image
Developer tools
0

164

manatactical/forgejo-report-tool repository overview

โ ๐Ÿ”’ Forgejo Anonymous Report Tool

Privacy-first bug and feature report tool for Forgejo-hosted projects


Angular TypeScript Node.js Docker Forgejo MIT License

Users submit reports without a Forgejo account. API token stays server-side.

โ Configuration

โ Environment Variables (Server)
VariableRequiredDefaultPurpose
FRT_apiURLYesโ€”Forgejo API base URL
FRT_tokenYesโ€”Forgejo API token (server-side only)
FRT_ownerYesโ€”Repository owner
FRT_repoYesโ€”Repository name
FRT_siteNameNoAnonymous Report ToolUI header and browser tab name
FRT_accessPasswordNoโ€”Password gate for report access
FRT_accessCookieNameNoโ€”Cookie name for webview bypass (requires FRT_accessCookieValue)
FRT_accessCookieValueNoโ€”Expected cookie value (shared secret) for webview bypass
FRT_logoPathNocustom/logo.pngCustom logo image path
PORTNo3001Server port
โ Frontend Labels (src/environments/environment.tsโ )
export const appConfig = {
  bugLabel: 'kind/bug',
  featureLabel: 'kind/feature',
  enhancementLabel: 'kind/enhancement',
  criticalLabel: 'critical',
  criticalPriorityLabel: 'priority/critical',
};

Repo in Forgejo must use "Advanced Label Set" to fully enjoy this tool.

โ Custom Config File (custom/config.jsonโ )

Editable file mounted at runtime. No rebuild needed.

{
  "features": {
    "categories": [
      { "name": "General", "features": ["User Interface", "Performance", "Accessibility"] },
      { "name": "Authentication", "features": ["Login", "Registration", "Password Reset"] }
    ]
  },
  "typeFilter": {
    "enabled": true,
    "types": { "bug": true, "feature": true, "enhancement": true }
  }
}

Place logo.png in custom/โ . Served at /api/logo without auth.

โ Deployment

โ Docker

Requires connection to the same Docker network as Forgejo. The example below uses the external network forgejo_forgejo (created by Forgejo's docker-compose). Within this shared network, Forgejo is reachable via its service/container hostname (e.g. http://forgejo:3000).

docker build -t forgejo-report-tool .
docker run -d --restart unless-stopped \
  --name forgejo-report-tool \
  -p 3001:3001 \
  --network forgejo_forgejo \
  -e FRT_apiURL=http://forgejo:3000/api/v1 \
  -e FRT_token=your_token \
  -e FRT_owner=your_org \
  -e FRT_repo=your_repo \
  -v $(pwd)/custom:/app/custom \
  forgejo-report-tool

Mount custom/โ  volume to override config and logo without rebuild.

โ API Endpoints

MethodPathPurpose
GET/api/configSite name and subtitle
GET/api/custom-configFeature list and type filters
GET/api/logoCustom logo image
GET/api/accessSession auth
POST/api/logoutInvalidate session
POST/api/proxyProxy Forgejo API requests

Coded & Built by artywal.comโ  ยท Powered by Forgejoโ 

Tag summary

Content type

Image

Digest

sha256:fdafba5e6โ€ฆ

Size

55 MB

Last updated

5 months ago

docker pull manatactical/forgejo-report-tool