2024-05-11 01:09:43 +02:00
|
|
|
{ lib, config, ... }:
|
|
|
|
let
|
2024-06-13 15:47:36 +02:00
|
|
|
port = config.satellite.ports.forgejo;
|
2024-05-11 01:09:43 +02:00
|
|
|
host = "git.moonythm.dev";
|
2024-05-11 01:18:47 +02:00
|
|
|
cfg = config.services.forgejo;
|
2024-05-11 01:09:43 +02:00
|
|
|
in
|
|
|
|
{
|
2024-05-11 01:22:34 +02:00
|
|
|
sops.secrets.forgejo_mail_password = {
|
|
|
|
sopsFile = ../secrets.yaml;
|
|
|
|
owner = cfg.user;
|
|
|
|
group = cfg.group;
|
|
|
|
};
|
|
|
|
|
2024-07-06 19:32:14 +02:00
|
|
|
satellite.cloudflared.at.${host}.port = port;
|
2024-05-11 01:09:43 +02:00
|
|
|
|
|
|
|
services.forgejo = {
|
|
|
|
enable = true;
|
|
|
|
stateDir = "/persist/state/var/lib/forgejo";
|
|
|
|
mailerPasswordFile = config.sops.secrets.forgejo_mail_password.path;
|
|
|
|
|
|
|
|
dump = {
|
|
|
|
enable = true;
|
|
|
|
type = "tar.gz";
|
|
|
|
};
|
|
|
|
|
|
|
|
lfs.enable = true;
|
|
|
|
|
|
|
|
# See [the cheatsheet](https://docs.gitea.com/next/administration/config-cheat-sheet)
|
|
|
|
settings = {
|
2024-05-22 14:04:20 +02:00
|
|
|
default.APP_NAME = "moonforge";
|
|
|
|
|
2024-05-11 01:09:43 +02:00
|
|
|
server = {
|
|
|
|
DOMAIN = host;
|
|
|
|
HTTP_PORT = port;
|
|
|
|
ROOT_URL = "https://${host}";
|
|
|
|
LANDING_PAGE = "prescientmoon"; # Make my profile the landing page
|
|
|
|
};
|
|
|
|
|
|
|
|
cron.ENABLED = true;
|
2024-05-11 02:05:45 +02:00
|
|
|
service.DISABLE_REGISTRATION = true;
|
2024-05-22 14:04:20 +02:00
|
|
|
session.COOKIE_SECURE = true;
|
2024-05-11 01:09:43 +02:00
|
|
|
|
|
|
|
mailer = {
|
|
|
|
ENABLED = true;
|
|
|
|
SMTP_PORT = 465;
|
|
|
|
SMTP_ADDR = "smtp.migadu.com";
|
2024-05-11 01:33:02 +02:00
|
|
|
USER = "git@orbit.moonythm.dev";
|
2024-05-11 01:09:43 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
repository = {
|
|
|
|
DISABLE_STARS = true;
|
|
|
|
DISABLED_REPO_UNITS = "";
|
|
|
|
DEFAULT_REPO_UNITS = lib.strings.concatStringsSep "," [
|
|
|
|
"repo.code"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|