updated wedding website hosting
This commit is contained in:
parent
060c40acef
commit
d0a09a0744
3 changed files with 202 additions and 155 deletions
|
|
@ -1,35 +1,71 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
weddingPackage =
|
||||
if inputs.wedding ? packages then
|
||||
inputs.wedding.packages.${pkgs.system}.default
|
||||
else
|
||||
pkgs.buildGoModule {
|
||||
pname = "wedding";
|
||||
version = "source";
|
||||
src = inputs.wedding;
|
||||
subPackages = [ "internal/cmd/app" ];
|
||||
vendorHash = "sha256-rxaikaR4UGXu2hIuR9ZbOnITBsCq5zEDAlwrhhRudoo=";
|
||||
env = {
|
||||
CGO_ENABLED = 0;
|
||||
};
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
];
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/wedding
|
||||
cp -r public $out/share/wedding/public
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
sops.secrets.github_password = { };
|
||||
virtualisation.oci-containers = {
|
||||
backend = "podman";
|
||||
containers = {
|
||||
wedding = {
|
||||
login = {
|
||||
username = "fwastring";
|
||||
passwordFile = config.sops.secrets.github_password.path;
|
||||
registry = "https://ghcr.io";
|
||||
};
|
||||
image = "ghcr.io/fwastring/wedding:6de68dab52d1675283b8766d401088c9c541b170";
|
||||
ports = [ "127.0.0.1:8083:8080" ];
|
||||
options.wedding = {
|
||||
enable = lib.mkEnableOption "Wedding site";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.wedding.enable {
|
||||
sops.secrets.gotify_password = { };
|
||||
|
||||
systemd.services.wedding = {
|
||||
description = "Wedding site";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${weddingPackage}/bin/app";
|
||||
Restart = "on-failure";
|
||||
DynamicUser = true;
|
||||
WorkingDirectory = "${weddingPackage}/share/wedding";
|
||||
Environment = [
|
||||
"PUBLIC_DIR=${weddingPackage}/share/wedding/public"
|
||||
"GOTIFY_URL=https://message.wastring.com"
|
||||
"GOTIFY_TOKEN=AxlVMOKqqoohYxC"
|
||||
"HTTP_ADDR=0.0.0.0:8083"
|
||||
"PORT=8083"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
services.nginx = {
|
||||
virtualHosts."wedding.wastring.com" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://127.0.0.1:8083";
|
||||
proxyWebsockets = true;
|
||||
|
||||
services.nginx = {
|
||||
virtualHosts."wedding.wastring.com" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://localhost:8083";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue