feat(portal): proxy Gitea SSH through HAProxy
treefmt / nix fmt (pull_request) Successful in 6s
pytest / pytest (pull_request) Successful in 31s
test ebook search / test-ebook-search (pull_request) Successful in 35s
build_systems / build-brain (pull_request) Successful in 50s
build_systems / build-bob (pull_request) Successful in 55s
build_systems / build-rhapsody-in-green (pull_request) Successful in 1m3s
build_systems / build-jeeves (pull_request) Successful in 2m20s
treefmt / nix fmt (push) Successful in 5s
pytest / pytest (push) Successful in 32s
test ebook search / test-ebook-search (push) Successful in 33s
build_systems / build-bob (push) Successful in 37s
build_systems / build-brain (push) Successful in 36s
build_systems / build-rhapsody-in-green (push) Successful in 47s
build_systems / build-jeeves (push) Successful in 2m1s
treefmt / nix fmt (pull_request) Successful in 6s
pytest / pytest (pull_request) Successful in 31s
test ebook search / test-ebook-search (pull_request) Successful in 35s
build_systems / build-brain (pull_request) Successful in 50s
build_systems / build-bob (pull_request) Successful in 55s
build_systems / build-rhapsody-in-green (pull_request) Successful in 1m3s
build_systems / build-jeeves (pull_request) Successful in 2m20s
treefmt / nix fmt (push) Successful in 5s
pytest / pytest (push) Successful in 32s
test ebook search / test-ebook-search (push) Successful in 33s
build_systems / build-bob (push) Successful in 37s
build_systems / build-brain (push) Successful in 36s
build_systems / build-rhapsody-in-green (push) Successful in 47s
build_systems / build-jeeves (push) Successful in 2m1s
- expose Gitea SSH through Portal on port 2223 - advertise the correct Gitea SSH user and domain - add the Gitea host to Richie’s SSH config - correct the local ACME challenge backend port
This commit was merged in pull request #59.
This commit is contained in:
@@ -26,10 +26,14 @@ in
|
|||||||
};
|
};
|
||||||
service.DISABLE_REGISTRATION = true;
|
service.DISABLE_REGISTRATION = true;
|
||||||
server = {
|
server = {
|
||||||
DOMAIN = "tmmworkshop.com";
|
DOMAIN = "gitea.tmmworkshop.com";
|
||||||
ROOT_URL = "https://gitea.tmmworkshop.com/";
|
ROOT_URL = "https://gitea.tmmworkshop.com/";
|
||||||
HTTP_PORT = 6443;
|
HTTP_PORT = 6443;
|
||||||
|
BUILTIN_SSH_SERVER_USER = "gitea";
|
||||||
|
SSH_USER = "gitea";
|
||||||
|
SSH_DOMAIN = "gitea.tmmworkshop.com";
|
||||||
SSH_PORT = 2223;
|
SSH_PORT = 2223;
|
||||||
|
SSH_LISTEN_HOST = "0.0.0.0";
|
||||||
SSH_LISTEN_PORT = 2223;
|
SSH_LISTEN_PORT = 2223;
|
||||||
START_SSH_SERVER = true;
|
START_SSH_SERVER = true;
|
||||||
PUBLIC_URL_DETECTION = "auto";
|
PUBLIC_URL_DETECTION = "auto";
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ in
|
|||||||
networking.firewall.allowedTCPPorts = [
|
networking.firewall.allowedTCPPorts = [
|
||||||
80
|
80
|
||||||
443
|
443
|
||||||
|
2223
|
||||||
];
|
];
|
||||||
|
|
||||||
# Global robots.txt served by HAProxy for every vhost (see haproxy.cfg).
|
# Global robots.txt served by HAProxy for every vhost (see haproxy.cfg).
|
||||||
|
|||||||
@@ -110,6 +110,14 @@ frontend ContentSwitching
|
|||||||
use_backend gems if host_gems
|
use_backend gems if host_gems
|
||||||
use_backend norn_sight if host_norn_sight
|
use_backend norn_sight if host_norn_sight
|
||||||
|
|
||||||
|
# Proxy Gitea's built-in SSH server over Tailscale to Jeeves. Port 22 remains
|
||||||
|
# available to Endlessh on Portal.
|
||||||
|
frontend GiteaSSH
|
||||||
|
bind *:2223 v4v6
|
||||||
|
mode tcp
|
||||||
|
option tcplog
|
||||||
|
default_backend gitea_ssh
|
||||||
|
|
||||||
# Stick-table only (no servers): tracks per-IP request rate to Gitea's compare
|
# Stick-table only (no servers): tracks per-IP request rate to Gitea's compare
|
||||||
# endpoint over a 5-minute window so the frontend can cap it at 1 per 5 min.
|
# endpoint over a 5-minute window so the frontend can cap it at 1 per 5 min.
|
||||||
backend st_compare
|
backend st_compare
|
||||||
@@ -120,7 +128,7 @@ backend st_gems_join
|
|||||||
|
|
||||||
backend acme_challenge
|
backend acme_challenge
|
||||||
mode http
|
mode http
|
||||||
server acme 127.0.0.1:8080
|
server acme 127.0.0.1:8402
|
||||||
|
|
||||||
backend audiobookshelf_nodes
|
backend audiobookshelf_nodes
|
||||||
mode http
|
mode http
|
||||||
@@ -143,6 +151,10 @@ backend gitea
|
|||||||
mode http
|
mode http
|
||||||
server server jeeves:6443
|
server server jeeves:6443
|
||||||
|
|
||||||
|
backend gitea_ssh
|
||||||
|
mode tcp
|
||||||
|
server gitea jeeves:2223
|
||||||
|
|
||||||
backend gems
|
backend gems
|
||||||
mode http
|
mode http
|
||||||
option forwardfor
|
option forwardfor
|
||||||
|
|||||||
@@ -49,6 +49,12 @@
|
|||||||
IdentityFile = "~/.ssh/id_ed25519";
|
IdentityFile = "~/.ssh/id_ed25519";
|
||||||
Port = 278;
|
Port = 278;
|
||||||
};
|
};
|
||||||
|
"gitea.tmmworkshop.com" = {
|
||||||
|
HostName = "gitea.tmmworkshop.com";
|
||||||
|
User = "gitea";
|
||||||
|
IdentityFile = "~/.ssh/id_ed25519";
|
||||||
|
Port = 2223;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user