Back to Codeberg

Support local Forgejo instances without requiring HTTPS/port 443 #447

forgejo-contrib-forgejo-cli-issues-447.md

latest8.5 KB
Original Source

forgejo-contrib/forgejo-cli

Watch20

Star402

Fork

You've already forked forgejo-cli

51

CodeIssues 44Pull requests 8Releases 11Packages 2WikiActivity

Support local Forgejo instances without requiring HTTPS/port 443 #447

New issue

Closed

opened 2026-05-01 20:05:16 +02:00 by cristoslc · 1 comment

cristoslc commented 2026-05-01 20:05:16 +02:00

Copy link

When using fj with a self-hosted Forgejo instance accessed via an SSH alias (e.g., git@forgejo-localhost:user/repo), the CLI extracts the hostname from the remote URL and constructs the API endpoint as https://forgejo-localhost:443. This breaks for local-only setups where:

  1. The web UI runs on HTTP port 3000 (not 443)
  2. No TLS termination is configured on the web port
  3. SSH is routed through a custom port (e.g., 2222) via ~/.ssh/config

Current workaround: Users must pass -H http://localhost:3000 on every fj command.

Proposed solutions:

  1. Read client_ids config for protocol/port hints — Add optional api_protocol and api_port fields to ~/.config/forgejo-cli/client_ids

  2. Respect environment variables — Add support for FORGEJO_API_PROTOCOL and FORGEJO_API_PORT env vars

  3. Auto-detect from SSH config — Parse ~/.ssh/config to detect when hostname is an SSH alias and read actual HostName/port for API URL construction

Related: Codeberg #4171

When using fj with a self-hosted Forgejo instance accessed via an SSH alias (e.g., git@forgejo-localhost:user/repo), the CLI extracts the hostname from the remote URL and constructs the API endpoint as https://forgejo-localhost:443. This breaks for local-only setups where: 1. The web UI runs on HTTP port 3000 (not 443) 2. No TLS termination is configured on the web port 3. SSH is routed through a custom port (e.g., 2222) via ~/.ssh/config **Current workaround:** Users must pass -H http://localhost:3000 on every fj command. **Proposed solutions:** 1. **Read client_ids config for protocol/port hints** — Add optional api_protocol and api_port fields to ~/.config/forgejo-cli/client_ids 2. **Respect environment variables** — Add support for FORGEJO_API_PROTOCOL and FORGEJO_API_PORT env vars 3. **Auto-detect from SSH config** — Parse ~/.ssh/config to detect when hostname is an SSH alias and read actual HostName/port for API URL construction Related: Codeberg #4171

LordMZTE added the Kind/Enhancement [ Reviewed

Invalid ](/forgejo-contrib/forgejo-cli/issues?labels=173006) labels 2026-05-01 20:52:42 +02:00

LordMZTE commented 2026-05-01 20:53:05 +02:00

Collaborator

Copy link

Please follow the issue template and do not submit AI-generated content.

Please follow the issue template and do not submit AI-generated content.

👍 1

LordMZTE closed this issue 2026-05-01 20:53:05 +02:00

Sign in to join this conversation.

No Branch/Tag specified

BranchesTags

main

renovate/lock-file-maintenance

renovate/serde-saphyr-0.x

docs/contributing

no-port-in-refspec

login/v16.next.forgejo.org

crates-io-publish

0.5.x

compile-time-fluent

0.4.x

localization-alias-demo

api_url_field

v0.5.0

v0.4.1

v0.4.0

v0.3.0

v0.2.0

v0.1.1

v0.1.0

v0.0.4

v0.0.3

v0.0.2

v0.0.1

Labels

Clear labels[ Kind/Breaking Breaking change that won't be backward compatible

](#)[ Kind/Bug Something is not working

](#)[ Kind/Design Discussion about UI/UX design

](#)[ Kind/Documentation Documentation changes

](#)[ Kind/Enhancement Improve existing functionality

](#)[ Kind/Feature New functionality

](#)[ Kind/Security This is security issue

](#)[ Kind/Testing Issue or pull request related to testing

](#)[ Kind/Upstream This is an issue with upstream software (Forgejo) that is probably not our fault

](#)

[ Priority

Critical The priority is critical

](#)[ Priority

High The priority is high

](#)[ Priority

Low The priority is low

](#)[ Priority

Medium The priority is medium

](#)

[ Reviewed

Confirmed Issue has been confirmed

](#)[ Reviewed

Duplicate This issue or pull request already exists

](#)[ Reviewed

Invalid Invalid issue

](#)[ Reviewed

Won't Fix This issue won't be fixed

](#)

[ Status

Abandoned Somebody has started to work on this but abandoned work

](#)[ Status

Blocked Something is blocking this issue or pull request

](#)[ Status

Need More Info Feedback is required to reproduce issue or to continue work

](#)

[ Suspicious

](#)

No labels Kind/Breaking Kind/Bug Kind/Design Kind/Documentation Kind/Enhancement Kind/Feature Kind/Security Kind/Testing Kind/Upstream [ Priority

Critical ](/forgejo-contrib/forgejo-cli/issues?labels=173012) [ Priority

High ](/forgejo-contrib/forgejo-cli/issues?labels=173013) [ Priority

Low ](/forgejo-contrib/forgejo-cli/issues?labels=173015) [ Priority

Medium ](/forgejo-contrib/forgejo-cli/issues?labels=173014) [ Reviewed

Confirmed ](/forgejo-contrib/forgejo-cli/issues?labels=173007) [ Reviewed

Duplicate ](/forgejo-contrib/forgejo-cli/issues?labels=173005) [ Reviewed

Invalid ](/forgejo-contrib/forgejo-cli/issues?labels=173006) [ Reviewed

Won't Fix ](/forgejo-contrib/forgejo-cli/issues?labels=173008) [ Status

Abandoned ](/forgejo-contrib/forgejo-cli/issues?labels=173011) [ Status

Blocked ](/forgejo-contrib/forgejo-cli/issues?labels=173010) [ Status

Need More Info ](/forgejo-contrib/forgejo-cli/issues?labels=173009) Suspicious

Milestone

Clear milestone

No items

No milestone

Projects

Clear projects

No items

No project

Assignees

Clear assignees

No assignees

2 participants

Notifications Subscribe

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

forgejo-contrib/forgejo-cli#447

WritePreview

Loading…

Add table

| Rows | | | Columns | |

CancelOK

Add a link

Url Description Hint: With a URL in your clipboard, you can paste directly into the editor to create a link.

CancelOK

CancelSave

Reference in a new issue

Repository

forgejo-contrib/forgejo-cli

Title

Body

Create issue

No description provided.

Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?

No Yes