summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Keller <tjk@tjkeller.xyz>2026-11-02 13:25:04 -0600
committerTim Keller <tjk@tjkeller.xyz>2026-11-02 13:25:04 -0600
commitd4b149710587326bc59b66b92efeafbb34c5baff (patch)
tree787a5ed355c28c99580d5409b6a2ef1c19dee7da
parent4baeaf52d09ff5c8202a111d75c8e9ba1d492555 (diff)
downloadnixos-d4b149710587326bc59b66b92efeafbb34c5baff.tar.xz
nixos-d4b149710587326bc59b66b92efeafbb34c5baff.zip
add gitea container
-rw-r--r--hosts/poweredge-pro/gitea.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/hosts/poweredge-pro/gitea.nix b/hosts/poweredge-pro/gitea.nix
new file mode 100644
index 0000000..4c800df
--- /dev/null
+++ b/hosts/poweredge-pro/gitea.nix
@@ -0,0 +1,41 @@
+{
+ containers.gitea = {
+ autoStart = true;
+ privateNetwork = true;
+ hostBridge = "br-lan0";
+ localMacAddress = "02:00:00:00:00:03";
+
+ # TODO make a mountpoint for git repositories
+
+ config = { lib, pkgs, config, ... }: {
+ # Network
+ networking.interfaces.eth0.useDHCP = true;
+ networking.firewall.allowedTCPPorts = [ 80 22 ]; # Caddy + ssh
+
+ # Gitea
+ services.gitea = {
+ enable = true;
+ #user = "git"; # So ssh cloning uses git@gitea
+ settings = {
+ repository = {
+ ENABLE_PUSH_CREATE_USER = true;
+ ENABLE_PUSH_CREATE_ORG = true;
+ };
+ };
+ };
+
+ # SSH for repositories
+ services.openssh.enable = true;
+
+ # Reverse proxy
+ services.caddy = {
+ enable = true;
+ virtualHosts.":80".extraConfig = ''
+ reverse_proxy localhost:3000
+ '';
+ };
+
+ system.stateVersion = "25.11";
+ };
+ };
+}