1
0
Fork 0
mirror of https://github.com/chobbledotcom/chobble-server.git synced 2025-12-22 14:37:44 +00:00
No description
Find a file
2025-12-11 01:53:06 +00:00
analytics.nix Add HTTP redirects for analytics too 2025-11-07 10:28:46 +00:00
flake.lock Lock goatcounter 2025-12-11 01:35:26 +00:00
flake.nix Automigratate Goatcounter 2025-12-11 01:53:06 +00:00
LICENSE Add agpl3 license 2024-12-10 09:09:21 +00:00
README.md Use ntfy secret in failure notification service 2024-12-08 17:04:00 +00:00
redirects.nix Allow protocols to be specified in redirefcts 2025-11-07 10:23:11 +00:00

chobble-server

A NixOS module for running a server with Forgejo (git hosting), Caddy (reverse proxy), and static site hosting.

Features

  • Git hosting with Forgejo
  • Reverse proxy with Caddy
  • Static site hosting with automated builds
  • Service monitoring with failure notifications via ntfy.sh
  • Restricted SSH access by IP

Usage

Add to your flake inputs:

{
  inputs.chobble-server.url = "git+https://git.chobble.com/chobble/chobble-server";
}

Basic config example:

{
  imports = [ chobble-server.nixosModules.default ];

  services.chobble-server = {
    enable = true;
    baseDomain = "example.com";          # Your domain name
    myAddress = "1.2.3.4";               # Your IP (for SSH access)

    # Static sites to host
    sites = {
      "example.com" = {
        gitRepo = "http://localhost:3000/user/site";
        wwwRedirect = true;
      };
      "blog.example.com" = {
        gitRepo = "http://localhost:3000/user/blog";
        wwwRedirect = false;
      };
    };
  };
}

Options

  • enable - Enable the chobble-server configuration
  • baseDomain - Base domain for services (git will be hosted at git.basedomain)
  • ntfyAddress - ntfy.sh address for service failure notifications
  • myAddress - Your IP address (SSH access will be restricted to this IP)
  • sites - Attrset of static sites to host
  • gitRepo - Git repository URL
  • wwwRedirect - Whether to redirect www subdomain
  • useHTTPS - Whether to use HTTPS (default: true)
  • host - Hosting service to use ("caddy" or "neocities", default: "caddy")
  • apiKey - API key for the hosting service (if required)