Update config
This commit is contained in:
parent
e1df4bbbcf
commit
556e0e1eb2
15 changed files with 323 additions and 164 deletions
|
|
@ -1,4 +1,93 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
domain = "git.lomig.me"; # <-- mets ton domaine
|
||||
giteaHttpPort = 3000; # port local de Gitea
|
||||
in {
|
||||
########################################
|
||||
# Base système
|
||||
########################################
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 22 ]; # HTTP(S) + SSH (22)
|
||||
services.openssh.enable = true; # si tu veux aussi OpenSSH pour le reste
|
||||
|
||||
########################################
|
||||
# Base de données Postgres
|
||||
########################################
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
ensureDatabases = [ "gitea" ];
|
||||
ensureUsers = [
|
||||
{ name = "gitea";
|
||||
ensureDBOwnership = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
########################################
|
||||
# Gitea
|
||||
########################################
|
||||
services.gitea = {
|
||||
enable = true;
|
||||
appName = "Gitea";
|
||||
user = "gitea"; # user système service
|
||||
database = {
|
||||
type = "postgres";
|
||||
user = "gitea";
|
||||
name = "gitea";
|
||||
host = "127.0.0.1";
|
||||
};
|
||||
|
||||
# Répertoire de données (par défaut: /var/lib/gitea)
|
||||
stateDir = "/var/lib/gitea";
|
||||
|
||||
# Réglages gitea.ini
|
||||
settings = {
|
||||
server = {
|
||||
PROTOCOL = "http";
|
||||
HTTP_ADDR = "127.0.0.1";
|
||||
HTTP_PORT = giteaHttpPort;
|
||||
DOMAIN = domain;
|
||||
ROOT_URL = "https://${domain}/";
|
||||
SSH_DOMAIN = domain;
|
||||
|
||||
# SSH intégré par Gitea (pratique : pas besoin de configurer un port séparé)
|
||||
START_SSH_SERVER = true;
|
||||
SSH_LISTEN_PORT = 2222; # port interne Gitea
|
||||
SSH_PORT = 22; # port public affiché dans les URLs clone
|
||||
};
|
||||
|
||||
service = {
|
||||
DISABLE_REGISTRATION = true; # tu créeras les comptes toi‑même
|
||||
REQUIRE_SIGNIN_VIEW = false;
|
||||
REGISTER_EMAIL_CONFIRM = true;
|
||||
};
|
||||
|
||||
# SMTP (remplace par ton vrai relais)
|
||||
|
||||
log = {
|
||||
MODE = "console";
|
||||
LEVEL = "Info";
|
||||
};
|
||||
};
|
||||
|
||||
# Création d'un admin au premier démarrage (facultatif mais pratique)
|
||||
# Remplace le mot de passe et l’email :
|
||||
# L'utilisateur est créé si inexistant.
|
||||
};
|
||||
|
||||
########################################
|
||||
# Caddy reverse proxy + TLS
|
||||
########################################
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
virtualHosts."${domain}".extraConfig = ''
|
||||
encode zstd gzip
|
||||
reverse_proxy 127.0.0.1:${toString giteaHttpPort}
|
||||
'';
|
||||
# Par défaut, Caddy va récupérer un certificat Let's Encrypt pour le domaine public
|
||||
# Si domaine local sans DNS public, ajoute `tls internal` dans extraConfig.
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
# vim: set ts=2 sw=2 sts=2 et :
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue