infrastructure/machines/web03/django-apps/gestiojeux.nix
2024-11-25 16:06:08 +01:00

74 lines
1.6 KiB
Nix

{
pkgs,
sources,
config,
...
}:
let
nix-pkgs = import sources.nix-pkgs { inherit pkgs; };
in
{
services.django-apps.sites.gestiojeux = {
source = "https://git.dgnum.eu/DGNum/gestiojeux";
branch = "production";
domain = "gestiojeux.webapps.dgnum.eu";
nginx = {
enableACME = true;
forceSSL = true;
};
webHookSecret = config.age.secrets."webhook-gestiojeux_token".path;
application = {
type = "wsgi";
module = "gestiojeux";
};
python = pkgs.python3.override {
packageOverrides = _: _: {
inherit (nix-pkgs)
django-autoslug
django-cas-ng
loadcredential
markdown-icons
;
};
};
django = ps: ps.django_4;
dependencies = ps: [
ps.django-autoslug
ps.loadcredential
ps.django-cas-ng
ps.django-cleanup
ps.django-haystack
ps.django-markdownx
ps.django-tables2
ps.pillow
ps.psycopg2
ps.whoosh
# Django haystack is drunk
ps.setuptools
];
staticDirectory = "source/public/static";
mediaDirectory = "source/public/media";
credentials = {
SECRET_KEY = config.age.secrets."dj_gestiojeux-secret_key_file".path;
};
environment = {
GESTIOJEUX_ALLOWED_HOSTS = [ "gestiojeux.webapps.dgnum.eu" ];
GESTIOJEUX_EMAIL_HOST_USER = "web-services@infra.dgnum.eu";
GESTIOJEUX_DEFAULT_FROM_EMAIL = "Kadenios <web-services@infra.dgnum.eu>";
GESTIOJEUX_SERVER_EMAIL = "webapps@infra.dgnum.eu";
GESTIOJEUX_DB_NAME = "dj-gestiojeux";
GESTIOJEUX_DB_USER = "dj-gestiojeux";
};
};
}