gitea: add Redis cache for improved performance

- Add dedicated Redis instance on port 6380 (64MB, LRU eviction)
- Configure general cache with 16h TTL
- Configure last_commit cache with 1 year TTL for repos with 100+ commits
- Move session storage to Redis for persistence across restarts
This commit is contained in:
2025-12-24 14:28:19 +00:00
parent 77fe45f814
commit e07bdf2070

View File

@@ -1,6 +1,16 @@
{lib, ...}: {
networking.firewall.allowedTCPPorts = [80 443];
services.redis.servers.gitea = {
enable = true;
port = 6380;
bind = "127.0.0.1";
settings = {
maxmemory = "64mb";
maxmemory-policy = "allkeys-lru";
};
};
services.gitea = {
enable = true;
database = {
@@ -13,15 +23,26 @@
DOMAIN = "git.schmatzler.com";
HTTP_ADDR = "127.0.0.1";
HTTP_PORT = 3000;
LANDING_PAGE = "explore";
};
service.DISABLE_REGISTRATION = true;
security.INSTALL_LOCK = true;
cache = {
ADAPTER = "redis";
HOST = "redis://127.0.0.1:6380/0?pool_size=100&idle_timeout=180s";
ITEM_TTL = "16h";
};
"cache.last_commit" = {
ITEM_TTL = "8760h";
COMMITS_COUNT = 100;
};
session = {
PROVIDER = "redis";
PROVIDER_CONFIG = "redis://127.0.0.1:6380/1?pool_size=100&idle_timeout=180s";
COOKIE_SECURE = true;
SAME_SITE = "strict";
};
api.ENABLE_SWAGGER = false;
server.LANDING_PAGE = "explore";
};
};