Files
system-config/system/hosts/mcp/containers/pocket-id.nix

41 lines
1.2 KiB
Nix

{ config, ... }:
let
inherit (import ./lib.nix config) mkContainer blazestar;
# The default is to run on port 80, which the pocket-id user cannot bind to.
# We need a different port to be able to serve traffic.
# The following ports in the container are already taken:
# - 8080: API
# - 3000: Web UI
# - 2019: Admin endpoint
port = 8888;
in
{
virtualisation.oci-containers.containers.pocket-id = mkContainer {
image = "ghcr.io/pocket-id/pocket-id";
dependsOn = [];
hostName = "auth";
port = port;
public = false;
domain = blazestar;
homepageOpts = {
group = "Infra";
name = "Pocket ID";
icon = "pocket-id";
description = "Pocket ID Auth Server";
};
volumes = [
"/tank/pocket-id/data:/app/backend/data"
];
environment = {
PUBLIC_APP_URL = "https://auth.${blazestar}";
# Whether the app is behind a reverse proxy.
TRUST_PROXY = "false";
CADDY_PORT = toString port;
# PORT = "3000"; # Frontend port
# BACKEND_PORT = "8080"; # Backend port
PUID = toString config.users.users."pocket-id".uid;
PGID = toString config.users.groups."pocket-id".gid;
};
};
}