1
Fork 0
satellite/hosts/nixos/lapetus/services/microbin.nix

55 lines
1.6 KiB
Nix
Raw Normal View History

2024-05-09 16:08:29 +02:00
{ config, lib, ... }:
let
port = 8418;
host = "bin.moonythm.dev";
2024-05-09 15:20:03 +02:00
in
{
imports = [ ./cloudflared.nix ];
sops.secrets.microbin_env.sopsFile = ../secrets.yaml;
2024-05-09 15:20:03 +02:00
services.cloudflared.tunnels =
config.satellite.cloudflared.proxy host;
services.nginx.virtualHosts.${host} =
config.satellite.proxy port { } // { forceSSL = false; };
2024-05-09 15:20:03 +02:00
services.microbin = {
enable = true;
2024-05-09 16:08:29 +02:00
dataDir = "/var/lib/microbin";
2024-05-09 16:42:11 +02:00
passwordFile = config.sops.secrets.microbin_env.path;
# {{{ Settings
2024-05-09 15:20:03 +02:00
settings = {
# High level settings
MICROBIN_ADMIN_USERNAME = "prescientmoon";
MICROBIN_PORT = toString port;
MICROBIN_PUBLIC_PATH = "https://bin.moonythm.dev/";
2024-05-09 15:20:03 +02:00
MICROBIN_DISABLE_TELEMETRY = "true";
MICROBIN_DISABLE_UPDATE_CHECKING = "true";
2024-05-09 15:20:03 +02:00
# Toggle certain features
MICROBIN_READONLY = "true"; # Requires a password to upload
MICROBIN_QR = "true"; # Allows generating qr codes
MICROBIN_EDITABLE = "true";
MICROBIN_HIGHLIGHTSYNTAX = "true";
MICROBIN_SHOW_READ_STATS = "true";
MICROBIN_ENABLE_BURN_AFTER = "true";
MICROBIN_ENABLE_READONLY = "true";
MICROBIN_ETERNAL_PASTA = "true";
2024-05-09 15:20:03 +02:00
# Make UI more minimal
# MICROBIN_HIDE_FOOTER = "true";
# MICROBIN_HIDE_HEADER = "true";
# MICROBIN_HIDE_LOGO = "true";
2024-05-09 15:20:03 +02:00
};
# }}}
2024-05-09 15:20:03 +02:00
};
2024-05-09 16:08:29 +02:00
systemd.services.microbin.serviceConfig = {
# We want to use systemd's `StateDirectory` mechanism to fix permissions
ReadWritePaths = lib.mkForce [ ];
};
2024-05-09 16:25:42 +02:00
environment.persistence."/persist/state".directories = [ "/var/lib/private/microbin" ];
2024-05-09 15:20:03 +02:00
}