add automerge repo sync server

This commit is contained in:
Anish Lakhwara
2026-08-13 21:19:27 -07:00
parent 74c5216423
commit 4c3c2a761c
5 changed files with 71 additions and 3 deletions
+1
View File
@@ -52,5 +52,6 @@ All subdomains point to the same static IP:
- `pds.commonscomputer.com` → PDS (port 5556, proxied via Caddy) - `pds.commonscomputer.com` → PDS (port 5556, proxied via Caddy)
- `knot.commonscomputer.com` → Tangled Knot (port 5555, proxied via Caddy) - `knot.commonscomputer.com` → Tangled Knot (port 5555, proxied via Caddy)
- `spindle.commonscomputer.com` → Tangled Spindle (port 6555, proxied via Caddy) - `spindle.commonscomputer.com` → Tangled Spindle (port 6555, proxied via Caddy)
- `automerge.commonscomputer.com` → Automerge Repo sync server (port 3030, proxied via Caddy)
Caddy handles HTTPS termination and reverse proxying to the internal services. Caddy handles HTTPS termination and reverse proxying to the internal services.
+4 -2
View File
@@ -1,8 +1,7 @@
var REG_NONE = NewRegistrar("none"); var REG_NONE = NewRegistrar("none");
var DNS_PROVIDER = NewDnsProvider("cloudflare"); // Change to your DNS provider var DNS_PROVIDER = NewDnsProvider("cloudflare"); // Change to your DNS provider
// TODO: Replace with actual static IP address once configured var SERVER_IP = "205.250.24.44";
var SERVER_IP = "TODO_STATIC_IP";
D("commonscomputer.com", REG_NONE, DnsProvider(DNS_PROVIDER), D("commonscomputer.com", REG_NONE, DnsProvider(DNS_PROVIDER),
// PDS - Personal Data Server // PDS - Personal Data Server
@@ -13,6 +12,9 @@ D("commonscomputer.com", REG_NONE, DnsProvider(DNS_PROVIDER),
// Spindle - CI runner // Spindle - CI runner
A("spindle", SERVER_IP), A("spindle", SERVER_IP),
// Automerge Repo sync server
A("automerge", SERVER_IP),
// Optional: Wildcard for future services // Optional: Wildcard for future services
// A("*", SERVER_IP), // A("*", SERVER_IP),
Generated
+56 -1
View File
@@ -39,6 +39,27 @@
"type": "github" "type": "github"
} }
}, },
"automerge-repo": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1786681013,
"narHash": "sha256-WNKFW7hzdNuqcSieUvV9I80U8haveyeCFvAvphwLkKk=",
"ref": "refs/heads/main",
"rev": "74e8e4787f46410ca7467f222e1f62b1d56ea4fe",
"revCount": 36,
"type": "git",
"url": "https://tangled.org/hyl.st/automerge-repo-nix"
},
"original": {
"type": "git",
"url": "https://tangled.org/hyl.st/automerge-repo-nix"
}
},
"darwin": { "darwin": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -136,9 +157,27 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_2": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"gomod2nix": { "gomod2nix": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils_2",
"nixpkgs": [ "nixpkgs": [
"tangled", "tangled",
"nixpkgs" "nixpkgs"
@@ -335,6 +374,7 @@
"root": { "root": {
"inputs": { "inputs": {
"agenix": "agenix", "agenix": "agenix",
"automerge-repo": "automerge-repo",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"tangled": "tangled" "tangled": "tangled"
} }
@@ -415,6 +455,21 @@
"type": "github" "type": "github"
} }
}, },
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tailwindcss-animated-src": { "tailwindcss-animated-src": {
"flake": false, "flake": false,
"locked": { "locked": {
+5
View File
@@ -11,6 +11,10 @@
url = "github:ryantm/agenix"; url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
automerge-repo = {
url = "git+https://tangled.org/hyl.st/automerge-repo-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
outputs = outputs =
@@ -35,6 +39,7 @@
tangled.nixosModules.knot tangled.nixosModules.knot
tangled.nixosModules.spindle tangled.nixosModules.spindle
agenix.nixosModules.default agenix.nixosModules.default
inputs."automerge-repo".nixosModules.default
{ nixpkgs.overlays = [ (import ./overlays) ]; } { nixpkgs.overlays = [ (import ./overlays) ]; }
]; ];
}; };
+5
View File
@@ -45,6 +45,8 @@
}; };
}; };
services.automerge-repo-sync-server.enable = true;
services.caddy = { services.caddy = {
enable = true; enable = true;
virtualHosts = { virtualHosts = {
@@ -57,6 +59,9 @@
"spindle.commonscomputer.com".extraConfig = '' "spindle.commonscomputer.com".extraConfig = ''
reverse_proxy http://localhost:6555 reverse_proxy http://localhost:6555
''; '';
"automerge.commonscomputer.com".extraConfig = ''
reverse_proxy http://localhost:3030
'';
}; };
}; };
networking.firewall.allowedTCPPorts = [ networking.firewall.allowedTCPPorts = [