nixos-conf/servers/forgejo.nix

54 lines
1.5 KiB
Nix

{ config, ... }:
{
imports = [
./utils/nginx-https-server.nix
./utils/acme-http-client.nix
];
services = {
forgejo = {
enable = true;
lfs.enable = true;
secrets.mailer.PASSWD = "${config.services.forgejo.stateDir}/smtp_pass";
settings = {
DEFAULT.APP_NAME = "Forgejo for Vili Sinervä";
repository = {
ENABLE_PUSH_CREATE_USER = true;
ENABLE_PUSH_CREATE_ORG = true;
DEFAULT_REPO_UNITS = "repo.code,repo.releases";
};
ui.DEFAULT_SHOW_FULL_NAME = true;
"ui.meta".AUTHOR = "Forgeo, hosted by Vili Sinervä";
server = {
DOMAIN = "forgejo.sinerva.eu";
HTTP_ADDR = "::1";
HTTP_PORT = 8000;
ROOT_URL = "https://${config.services.forgejo.settings.server.DOMAIN}";
};
service = {
DISABLE_REGISTRATION = true; # Disable for initial setup
ENABLE_NOTIFY_MAIL = true;
};
session.COOKIE_SECURE = true;
mailer = {
ENABLED = true;
SMTP_ADDR = "smtp.gmail.com";
SMTP_PORT = 587;
USER = "vmsskv12@gmail.com"; # Password set in file
FROM = "forgejo@sinerva.eu";
ENVELOPE_FROM = "forgejo@sinerva.eu";
};
cron = {
ENABLED = true;
RUN_AT_START = true;
};
time.DEFAULT_UI_LOCATION = "Europe/Helsinki";
};
};
nginx.virtualHosts.${config.services.forgejo.settings.server.DOMAIN}.locations."/" = {
proxyPass = "http://localhost:8000";
};
};
}