[gitea] Deploy
This commit is contained in:
48
lib/modules/gitea/default.nix
Normal file
48
lib/modules/gitea/default.nix
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
{config, pkgs, ...}:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
cfg = config.services.gitea;
|
||||||
|
domain = "source.ctsk.dev";
|
||||||
|
port = 10010;
|
||||||
|
|
||||||
|
in {
|
||||||
|
services.gitea = {
|
||||||
|
stateDir = "/srv/gitea";
|
||||||
|
appName = "WITHOUT WARRANTY OF ANY KIND";
|
||||||
|
database = {
|
||||||
|
type = "sqlite3";
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
server = {
|
||||||
|
ROOT_URL = "https://${domain}";
|
||||||
|
HTTP_ADDRESS = "127.0.0.1";
|
||||||
|
HTTP_PORT = port;
|
||||||
|
SSH_USER = "git";
|
||||||
|
SSH_PORT = 2324;
|
||||||
|
LANDING_PAGE = "explore";
|
||||||
|
};
|
||||||
|
service = {
|
||||||
|
DISABLE_REGISTRATION = true;
|
||||||
|
DISABLE_USERS_PAGE = true;
|
||||||
|
};
|
||||||
|
repository = {
|
||||||
|
ENABLE_PUSH_CREATE_USER = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.nginx.virtualHosts."${domain}" = {
|
||||||
|
forceSSL = true;
|
||||||
|
enableACME = true;
|
||||||
|
locations."/".proxyPass = "http://127.0.0.1:${toString port}";
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
''L+ ${cfg.stateDir}/custom/public/assets/img/logo.svg - - - - ${pkgs.logo.svg}''
|
||||||
|
''L+ ${cfg.stateDir}/custom/public/assets/img/logo.png - - - - ${pkgs.logo.png."512x512"}''
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.gitea ];
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,15 +1,27 @@
|
|||||||
{ impermanence, pkgs, ... }:
|
{ impermanence, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
ports = {
|
||||||
|
ssh = [ 2322 2323 2324 ];
|
||||||
|
gitea = 10010;
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
{
|
{
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
|
../../modules/gitea
|
||||||
../../users/christian
|
../../users/christian
|
||||||
];
|
];
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
gitea.enable = true;
|
||||||
|
nginx.enable = true;
|
||||||
openssh = {
|
openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
ports = [ 2322 2323 2324 ];
|
ports = ports.ssh;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -23,6 +35,11 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
networking.firewall = {
|
||||||
|
enable = true;
|
||||||
|
allowedTCPPorts = [ 80 443 ];
|
||||||
|
};
|
||||||
|
|
||||||
security = {
|
security = {
|
||||||
sudo = {
|
sudo = {
|
||||||
wheelNeedsPassword = false;
|
wheelNeedsPassword = false;
|
||||||
@@ -30,6 +47,10 @@
|
|||||||
Defaults lecture = never
|
Defaults lecture = never
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
acme = {
|
||||||
|
acceptTerms = true;
|
||||||
|
defaults.email = "cert@ctsk.xyz";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
|
|||||||
Reference in New Issue
Block a user