mirror of
https://github.com/itme-brain/nixos.git
synced 2026-03-23 16:29:42 -04:00
forgejo initial config
This commit is contained in:
parent
e2e6fb5dae
commit
40c509731e
2 changed files with 29 additions and 36 deletions
|
|
@ -6,6 +6,7 @@
|
||||||
|
|
||||||
modules.system = {
|
modules.system = {
|
||||||
nginx.enable = true;
|
nginx.enable = true;
|
||||||
|
forgejo.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users = {
|
users.users = {
|
||||||
|
|
|
||||||
|
|
@ -4,54 +4,46 @@ with lib;
|
||||||
let
|
let
|
||||||
cfg = config.modules.system.forgejo;
|
cfg = config.modules.system.forgejo;
|
||||||
nginx = config.modules.system.nginx;
|
nginx = config.modules.system.nginx;
|
||||||
|
domain = "ramos.codes";
|
||||||
|
socketPath = "/run/forgejo/forgejo.sock";
|
||||||
|
|
||||||
in
|
in
|
||||||
{ options.modules.system.forgejo = { enable = mkEnableOption "Forgejo Server"; };
|
{
|
||||||
|
options.modules.system.forgejo = {
|
||||||
|
enable = mkEnableOption "Forgejo Server";
|
||||||
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
users = {
|
users.users.nginx = mkIf nginx.enable {
|
||||||
users = {
|
extraGroups = [ "git" ];
|
||||||
"git" = {
|
|
||||||
description = "Git server system user";
|
|
||||||
isSystemUser = true;
|
|
||||||
group = "git";
|
|
||||||
extraGroups = mkIf nginx.enable [
|
|
||||||
"web"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"nginx" = {
|
|
||||||
extraGroups = mkIf nginx.enable [
|
|
||||||
"git"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
groups = {
|
|
||||||
"git" = {
|
|
||||||
members = [
|
|
||||||
"git"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.forgejo = rec {
|
services.forgejo = {
|
||||||
enable = true;
|
enable = true;
|
||||||
user = "git";
|
user = "git";
|
||||||
group = "git";
|
group = "git";
|
||||||
stateDir = "/var/lib/forgejo";
|
|
||||||
|
settings.server = {
|
||||||
settings = {
|
DOMAIN = "git.${domain}";
|
||||||
server = {
|
ROOT_URL = "https://git.${domain}/";
|
||||||
PROTOCOL = "http+unix";
|
PROTOCOL = "http+unix";
|
||||||
DOMAIN = "127.0.0.1";
|
HTTP_ADDR = socketPath;
|
||||||
HTTP_ADDR = "/run/forgejo/forgejo.sock";
|
SSH_DOMAIN = "git.${domain}";
|
||||||
};
|
SSH_PORT = 22;
|
||||||
|
START_SSH_SERVER = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
database = {
|
database = {
|
||||||
inherit user;
|
|
||||||
type = "sqlite3";
|
type = "sqlite3";
|
||||||
path = "${stateDir}/data/forgejo.db";
|
path = "/var/lib/forgejo/data/forgejo.db";
|
||||||
createDatabase = true;
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.nginx.virtualHosts."git.${domain}" = mkIf nginx.enable {
|
||||||
|
useACMEHost = domain;
|
||||||
|
forceSSL = true;
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "http://unix:${socketPath}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue