32 lines
904 B
Nix
32 lines
904 B
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
let
|
|
cfg = config.services.forgejo;
|
|
srv = cfg.settings.server;
|
|
in
|
|
{
|
|
services.forgejo = {
|
|
enable = true;
|
|
database.type = "sqlite3";
|
|
lfs.enable = true;
|
|
settings = {
|
|
server = {
|
|
DOMAIN = "git.figtree.dev";
|
|
ROOT_URL = "https://git.figtree.dev/";
|
|
HTTP_ADDR = "0.0.0.0";
|
|
HTTP_PORT = 3000;
|
|
};
|
|
service.DISABLE_REGISTRATION = true;
|
|
};
|
|
};
|
|
|
|
# Open the firewall for Forgejo's HTTP and SSH ports
|
|
networking.firewall.allowedTCPPorts = [ 3000 22 ];
|
|
|
|
# Ensure the user 'alex' is an admin in Forgejo if needed
|
|
# (Note: Forgejo doesn't allow 'admin' as a username)
|
|
systemd.services.forgejo.preStart = ''
|
|
# This will fail if the user already exists, hence || true
|
|
${lib.getExe cfg.package} admin user create --admin --email "code@figtree.dev" --username alex --password "changeme123" || true
|
|
'';
|
|
}
|