❄️ Nix configurations
1{ pkgs, ... }:
2
3{
4 virtualisation.oci-containers = {
5 backend = "podman";
6 containers.otterbox = {
7 ports = [
8 "127.0.0.1:16300:3000"
9 ];
10 volumes = [
11 "/var/lib/ottrbox:/opt/app/backend/data"
12 "/var/lib/ottrbox/images:/opt/app/frontend/public/img"
13 ];
14 image = "ghcr.io/aottr/ottrbox:v1.14.2";
15 };
16 };
17
18 networking.firewall.allowedTCPPorts = [ 16300 ];
19
20 services.traefik.dynamicConfigOptions.http = {
21 routers = {
22 otterbox = {
23 entryPoints = ["websecure"];
24 service = "otterbox";
25 rule = "Host(`box.otter.place`)";
26 tls.certResolver = "letsencrypt";
27 };
28 };
29
30 services = {
31 otterbox.loadBalancer.servers = [{url = "http://localhost:16300";}];
32 };
33 };
34}