Initial commit
Some checks failed
CI / check (push) Has been cancelled
CI / ida (push) Has been cancelled
CI / cpt (push) Has been cancelled
CI / build-nixos (ena) (push) Has been cancelled
CI / build-nixos (hako) (push) Has been cancelled
CI / build-nixos (kazusa) (push) Has been cancelled
CI / build-nixos (mizuki) (push) Has been cancelled
Some checks failed
CI / check (push) Has been cancelled
CI / ida (push) Has been cancelled
CI / cpt (push) Has been cancelled
CI / build-nixos (ena) (push) Has been cancelled
CI / build-nixos (hako) (push) Has been cancelled
CI / build-nixos (kazusa) (push) Has been cancelled
CI / build-nixos (mizuki) (push) Has been cancelled
This commit is contained in:
commit
70284509f3
144 changed files with 7061 additions and 0 deletions
130
hosts/server/hikari/hako/services/forgejo.nix
Normal file
130
hosts/server/hikari/hako/services/forgejo.nix
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
sops = {
|
||||
defaultSopsFile = ../secrets/forgejo.yaml;
|
||||
validateSopsFiles = false;
|
||||
age = {
|
||||
keyFile = "/var/lib/sops-nix/key.txt";
|
||||
generateKey = true;
|
||||
};
|
||||
secrets = {
|
||||
"forgejo/server_lfs_jwt_secret" = {
|
||||
owner = "forgejo";
|
||||
group = "forgejo";
|
||||
restartUnits = [ "forgejo.service" ];
|
||||
};
|
||||
"forgejo/security_internal_token" = {
|
||||
owner = "forgejo";
|
||||
group = "forgejo";
|
||||
restartUnits = [ "forgejo.service" ];
|
||||
};
|
||||
"forgejo/oauth2_jwt_secret" = {
|
||||
owner = "forgejo";
|
||||
group = "forgejo";
|
||||
restartUnits = [ "forgejo.service" ];
|
||||
};
|
||||
"forgejo/mailer_passwd" = {
|
||||
owner = "forgejo";
|
||||
group = "forgejo";
|
||||
restartUnits = [ "forgejo.service" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.forgejo = {
|
||||
enable = true;
|
||||
package = pkgs.forgejo;
|
||||
|
||||
database = {
|
||||
type = "postgres";
|
||||
createDatabase = true;
|
||||
host = "/run/postgresql/";
|
||||
name = "forgejo";
|
||||
user = "forgejo";
|
||||
};
|
||||
|
||||
settings = {
|
||||
DEFAULT = {
|
||||
APP_NAME = "git.mizuki.guru";
|
||||
APP_SLOGAN = "with 🎀";
|
||||
RUN_MODE = "prod";
|
||||
};
|
||||
|
||||
federation = {
|
||||
ENABLED = true;
|
||||
};
|
||||
|
||||
server = {
|
||||
DOMAIN = "git.mizuki.guru";
|
||||
SSH_DOMAIN = "mizuki.guru";
|
||||
HTTP_PORT = 3000;
|
||||
ROOT_URL = "https://git.mizuki.guru/";
|
||||
DISABLE_SSH = false;
|
||||
SSH_PORT = 22;
|
||||
LFS_START_SERVER = true;
|
||||
OFFLINE_MODE = false;
|
||||
};
|
||||
|
||||
security = {
|
||||
INSTALL_LOCK = true;
|
||||
PASSWORD_HASH_ALGO = "pbkdf2_hi";
|
||||
};
|
||||
|
||||
service = {
|
||||
REGISTER_EMAIL_CONFIRM = true;
|
||||
ENABLE_NOTIFY_MAIL = true;
|
||||
DISABLE_REGISTRATION = false;
|
||||
ALLOW_ONLY_EXTERNAL_REGISTRATION = true;
|
||||
ENABLE_CAPTCHA = false;
|
||||
REQUIRE_SIGNIN_VIEW = false;
|
||||
DEFAULT_KEEP_EMAIL_PRIVATE = false;
|
||||
DEFAULT_ALLOW_CREATE_ORGANIZATION = true;
|
||||
DEFAULT_ENABLE_TIMETRACKING = true;
|
||||
NO_REPLY_ADDRESS = "noreply.relay.imnya.ng";
|
||||
};
|
||||
|
||||
mailer = {
|
||||
ENABLED = true;
|
||||
SMTP_ADDR = "mail.mizuki.guru";
|
||||
SMTP_PORT = 587;
|
||||
FROM = "systemmail@mizuki.guru";
|
||||
USER = "systemmail@mizuki.guru";
|
||||
};
|
||||
|
||||
oauth2 = {
|
||||
ENABLED = true;
|
||||
};
|
||||
|
||||
actions = {
|
||||
ENABLED = true;
|
||||
};
|
||||
|
||||
ui = {
|
||||
THEMES = "dark,light,auto,forgejo-auto,forgejo-light,forgejo-dark";
|
||||
DEFAULT_THEME = "auto";
|
||||
};
|
||||
|
||||
repository = {
|
||||
ROOT = "/var/lib/forgejo/repositories";
|
||||
};
|
||||
"repository.pull-request".DEFAULT_MERGE_STYLE = "merge";
|
||||
"repository.signing".DEFAULT_TRUST_MODEL = "committer";
|
||||
"cron.update_checker".ENABLED = true;
|
||||
session.PROVIDER = "file";
|
||||
oauth2_client.ENABLE_AUTO_REGISTRATION = true;
|
||||
};
|
||||
|
||||
secrets = {
|
||||
server.LFS_JWT_SECRET = lib.mkForce config.sops.secrets."forgejo/server_lfs_jwt_secret".path;
|
||||
security.INTERNAL_TOKEN = lib.mkForce config.sops.secrets."forgejo/security_internal_token".path;
|
||||
oauth2.JWT_SECRET = lib.mkForce config.sops.secrets."forgejo/oauth2_jwt_secret".path;
|
||||
mailer.PASSWD = lib.mkForce config.sops.secrets."forgejo/mailer_passwd".path;
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue