diff --git a/dns/README.md b/dns/README.md index 6b8eff3..4e9586f 100644 --- a/dns/README.md +++ b/dns/README.md @@ -52,5 +52,6 @@ All subdomains point to the same static IP: - `pds.commonscomputer.com` → PDS (port 5556, proxied via Caddy) - `knot.commonscomputer.com` → Tangled Knot (port 5555, 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. diff --git a/dns/dnscontrol.js b/dns/dnscontrol.js index 8c6d87d..7ccc929 100644 --- a/dns/dnscontrol.js +++ b/dns/dnscontrol.js @@ -1,8 +1,7 @@ var REG_NONE = NewRegistrar("none"); var DNS_PROVIDER = NewDnsProvider("cloudflare"); // Change to your DNS provider -// TODO: Replace with actual static IP address once configured -var SERVER_IP = "TODO_STATIC_IP"; +var SERVER_IP = "205.250.24.44"; D("commonscomputer.com", REG_NONE, DnsProvider(DNS_PROVIDER), // PDS - Personal Data Server @@ -13,6 +12,9 @@ D("commonscomputer.com", REG_NONE, DnsProvider(DNS_PROVIDER), // Spindle - CI runner A("spindle", SERVER_IP), + + // Automerge Repo sync server + A("automerge", SERVER_IP), // Optional: Wildcard for future services // A("*", SERVER_IP), diff --git a/flake.lock b/flake.lock index c895f64..7025744 100644 --- a/flake.lock +++ b/flake.lock @@ -39,6 +39,27 @@ "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": { "inputs": { "nixpkgs": [ @@ -136,9 +157,27 @@ "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": { "inputs": { - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "nixpkgs": [ "tangled", "nixpkgs" @@ -335,6 +374,7 @@ "root": { "inputs": { "agenix": "agenix", + "automerge-repo": "automerge-repo", "nixpkgs": "nixpkgs", "tangled": "tangled" } @@ -415,6 +455,21 @@ "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": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index ce80077..86d8ae1 100644 --- a/flake.nix +++ b/flake.nix @@ -11,6 +11,10 @@ url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; }; + automerge-repo = { + url = "git+https://tangled.org/hyl.st/automerge-repo-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -35,6 +39,7 @@ tangled.nixosModules.knot tangled.nixosModules.spindle agenix.nixosModules.default + inputs."automerge-repo".nixosModules.default { nixpkgs.overlays = [ (import ./overlays) ]; } ]; }; diff --git a/hosts/asusmini/atproto.nix b/hosts/asusmini/atproto.nix index 1e9ef7e..a0bba98 100644 --- a/hosts/asusmini/atproto.nix +++ b/hosts/asusmini/atproto.nix @@ -45,6 +45,8 @@ }; }; + services.automerge-repo-sync-server.enable = true; + services.caddy = { enable = true; virtualHosts = { @@ -57,6 +59,9 @@ "spindle.commonscomputer.com".extraConfig = '' reverse_proxy http://localhost:6555 ''; + "automerge.commonscomputer.com".extraConfig = '' + reverse_proxy http://localhost:3030 + ''; }; }; networking.firewall.allowedTCPPorts = [