makeplane / makeplane/plane

Self-hosted CE v1.2.3: Gitea OAuth button never renders even when IS_GITEA_ENABLED=true

Open
#9,123 1 comment 0 reactions 1 assignee View on GitHub

@akshat5302 is already working on this.

Since May 25, 2026.

Dominant language
TypeScript
Stars
59.6k
Forks
5.8k
Avg merge
1d 22h
Merged PRs (30d)
49

Description

Is there an existing issue for this?

Searched 'gitea button', 'IS_GITEA_ENABLED frontend' — no matching open issue.

Current behavior

Self-hosted Plane CE v1.2.3 (helm chart 1.5.0). Backend Gitea OAuth properly configured:

  • DB row `instance_configurations` has `IS_GITEA_ENABLED=1`, `GITEA_HOST`, `GITEA_CLIENT_ID`, encrypted `GITEA_CLIENT_SECRET`
  • API endpoint `/api/instances/` returns `config.is_gitea_enabled: true`
  • `python manage.py configure_instance` confirms env vars loaded

But the workspace/instance sign-in pages never render a "Sign in with Gitea" button. Only email/password login is shown.

Suspected root cause

API `/api/instances/` response exposes `github_app_name` field (so frontend can show GitHub button) but does not expose a parallel `gitea_app_name` or `gitea_client_id` field. Frontend likely has logic like:

```tsx
{is_github_enabled && github_app_name && }
{is_gitea_enabled && /* missing equivalent field check */ && }
```

If the frontend gates Gitea button rendering on a config field the API never sends, the button is silently suppressed.

Expected behavior

Symmetric with GitHub: when `IS_GITEA_ENABLED=1` AND `GITEA_HOST` / `GITEA_CLIENT_ID` are configured, sign-in pages should render a "Sign in with Gitea" button that initiates the OAuth flow.

Workarounds we considered (and rejected)
  • Patching the prebuilt frontend image: not maintainable across upgrades
  • Reverse-proxy response rewrite to inject the button: brittle, breaks on every release
  • Switching to GitHub OAuth: works (button renders) but defeats the use case of integrating with a self-hosted Gitea/Forgejo for unified internal SSO
Use case

We self-host Forgejo behind Authelia. Configuring Plane CE → Gitea OAuth → Forgejo → Authelia would give us SSO + 2FA in one chain. Currently we have to fall back to email/password in Plane, which means Plane has weaker auth than every other tool in our internal stack.

Deployment
  • Helm chart: makeplane/plane-ce 1.5.0
  • App: v1.2.3
  • Single-domain Kubernetes, Tailscale-internal

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.