hugo-chat works

This commit is contained in:
nora 2024-08-05 19:31:01 +02:00
parent b58d3f4ceb
commit e60ecf1f91
14 changed files with 43 additions and 64 deletions

View file

@ -1,4 +1,4 @@
{ config, lib, ... }: { config, lib, pkgs, ... }:
let let
dockerLogin = { dockerLogin = {
registry = "docker.noratrieb.dev"; registry = "docker.noratrieb.dev";
@ -10,68 +10,46 @@ in
age.secrets.hugochat_db_password.file = ../../secrets/hugochat_db_password.age; age.secrets.hugochat_db_password.file = ../../secrets/hugochat_db_password.age;
virtualisation.oci-containers.containers = { virtualisation.oci-containers.containers = {
/*
hugo_chat_client:
container_name: hugo-chat-client
image: "docker.noratrieb.dev/hugo-chat-client:63bd1922"
restart: always
ports:
- "5002:80"
*/
hugo-chat-client = { hugo-chat-client = {
image = "docker.noratrieb.dev/hugo-chat-client:63bd1922"; image = "docker.noratrieb.dev/hugo-chat-client:89ce0b07";
login = dockerLogin; login = dockerLogin;
ports = [ "127.0.0.1:5002:80" ]; ports = [ "127.0.0.1:5002:80" ];
}; };
/*
hugo_chat_server:
container_name: hugo-chat-server
image: "docker.noratrieb.dev/hugo-chat-server:63bd1922"
ports:
- "5001:8080"
environment:
SPRING_DATASOURCE_URL: "jdbc:postgresql://hugo-chat-db:5432/hugochat"
SPRING_DATASOURCE_PASSWORD: "${HUGO_CHAT_DB_PASSWORD}"
networks:
- hugo-chat
*/
# disabled since the DB connection doesn't work yet.
#hugo-chat-server = {
# image = "docker.noratrieb.dev/hugo-chat-server:63bd1922";
# ports = [ "5001:80" ];
# environment = {
# SPRING_DATASOURCE_URL = "jdbc:postgresql://vps1.local:5003/hugochat";
# };
# environmentFiles = [ config.age.secrets.hugochat_db_password.path ];
# login = dockerLogin;
#};
/* hugo-chat-server = {
hugo_chat_db: image = "docker.noratrieb.dev/hugo-chat-server:89ce0b07";
container_name: hugo-chat-db ports = [ "127.0.0.1:5001:8080" ];
image: "postgres:latest" environment = {
restart: always SPRING_DATASOURCE_URL = "jdbc:postgresql://hugo-chat-db:5432/postgres";
volumes: };
- "/apps/hugo-chat/data:/var/lib/postgresql/data" environmentFiles = [ config.age.secrets.hugochat_db_password.path ];
environment: extraOptions = [ "--network=hugo-chat" ];
POSTGRES_PASSWORD: "${HUGO_CHAT_DB_PASSWORD}"
PGDATA: "/var/lib/postgresql/data/pgdata" dependsOn = [ "hugo-chat-db" ];
networks: login = dockerLogin;
- hugo-chat };
*/
hugo-chat-db = { hugo-chat-db = {
image = "postgres:16"; image = "postgres:16";
ports = [ "127.0.0.1:5003:80" ];
volumes = [ "/var/lib/hugo-chat/data:/var/lib/postgresql/data" ]; volumes = [ "/var/lib/hugo-chat/data:/var/lib/postgresql/data" ];
environment = { environment = {
POSTGRES_PASSWORD = "\${HUGO_CHAT_DB_PASSWORD}";
PGDATA = "/var/lib/postgresql/data/pgdata"; PGDATA = "/var/lib/postgresql/data/pgdata";
}; };
extraOptions = [ "--network=hugo-chat" ];
environmentFiles = [ config.age.secrets.hugochat_db_password.path ]; environmentFiles = [ config.age.secrets.hugochat_db_password.path ];
}; };
}; };
# https://www.reddit.com/r/NixOS/comments/13e5w6b/does_anyone_have_a_working_nixos_ocicontainers/
systemd.services.init-hugo-chat-podman-network = {
description = "Create the network bridge for hugo-chat.";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig.Type = "oneshot";
script = ''
${lib.getExe pkgs.podman} network create hugo-chat || true
'';
};
system.activationScripts.makeHugoChatDir = lib.stringAfter [ "var" ] '' system.activationScripts.makeHugoChatDir = lib.stringAfter [ "var" ] ''
mkdir -p /var/lib/hugo-chat/data mkdir -p /var/lib/hugo-chat/data
''; '';

View file

@ -140,13 +140,12 @@
./modules/contabo ./modules/contabo
./modules/wg-mesh ./modules/wg-mesh
./modules/ingress ./modules/ingress
./modules/podman
./apps/widetom ./apps/widetom
./apps/hugo-chat ./apps/hugo-chat
./apps/uptime ./apps/uptime
]; ];
age.secrets.docker_registry_password.file = ./secrets/docker_registry_password.age;
deployment.tags = [ "ingress" "eu" "apps" "wg" ]; deployment.tags = [ "ingress" "eu" "apps" "wg" ];
system.stateVersion = "23.11"; system.stateVersion = "23.11";
}; };

View file

@ -43,11 +43,6 @@ api.hugo-chat.noratrieb.dev {
reverse_proxy * localhost:5001 reverse_proxy * localhost:5001
} }
# TODO:
# Set up a domain called gh-pages.noratrieb.dev that's a CNAME for noratrieb.github.io
# such that all one-off repos use that domain, making links redirectable in the future.
# i've posted a bunch of nilstrieb.github.io links that are now dead
################################################################ ################################################################
# deadname redirects # deadname redirects
nilstrieb.dev { nilstrieb.dev {

View file

@ -0,0 +1,8 @@
{ ... }: {
virtualisation.podman = {
enable = true;
};
# https://github.com/NixOS/nixpkgs/issues/226365
networking.firewall.interfaces."podman+".allowedUDPPorts = [ 53 5353 ];
age.secrets.docker_registry_password.file = ../../secrets/docker_registry_password.age;
}

View file

@ -1,6 +1,5 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 qM6TYg 6TlkoQ0YMB4Cg0VqY8ec1RgRpfiRLh2YQpoc4D49uRg -> ssh-ed25519 qM6TYg lW7MJ/iW+nvXMk984BZjeEojIbqDojP1y6w0sRkQpzM
BbqDPWQGmGrcDSdNNajm0GJJRlPiazgeF2/MRsyDZkw 5t7qrvWDhmIfs0F2Av1kkq0zB9LMiHG1uM9G73KjgY8
--- OUif9tz9JRMMZEA1LTwPipE/Hezj5nVaN/qgiwoi3ws --- BrrUNOV8vvacVsORvb5tnuoZENT8dvSv9ZQPKDY2cbA
ç"Õ<>7¦àl¹Ç1™<31>ÏÁª0ÀI—¯?²Cjãgé3ªäLè§ <EFBFBD>ˆYE¥@¥u6Z®X_B†ðSÃõŒnj0Øiº9™7hC<68>“¨ÛyêSlH{Ø Ôi<C394>
æOŠ8äkIð+ð­îßh<

View file

@ -1,5 +1,5 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 qM6TYg AP0dV7U8/42OGcDtBv5eq3jSLdmXP3fMfTnd9o86EVM -> ssh-ed25519 qM6TYg KvzMXsvYp7qnuTxYxqtYLxGqYDXomluSaUFb8zjngn4
e5ftZHvKL6uqhInQgFSclzvnExxwYnFu0/ANTpa9bBI HNM0YiyvFfr7nEcoIP/w7KRgfL+7bgF0PPkxPqhNoJA
--- Zyyydt+U1p6UR2BP+s3ynm2Q2MmzWWUSrhlBn5kZdCI --- 1fPbYebzO+9VHQsSr/wIshnrqXCvO5AL0roNBbR64DE
W<>ë×{ÅõeÍ,?nr4KžXÌ{'±2Ù­<0A>ìåïÒÌÈÂç9<ݤfÝP¥„á,U_µNgþŠTø¬Dû4€<34>Z$¼„óÛKÍz ¥Ý¦®& ¤£^nÕj$w{xÚ`Éî€0Ì-Õó´6†8Yr ><1C>©Í¿Tà#Ôý¡$\Ü–ñœno%ž;´ñíÑpÔ„eõžò±ÿÆŒ”NYñøín¶`Þ¶i#<23>ƒgíÍàLÀîÇ4È1*±HùýþÉÂbÂ¥úUEï¹6µj%aƒ)szFyJc02CèkK2?¾¢ÜM$v”!Á8£þ­Ï