feat: elytra fix
This commit is contained in:
6
flake.lock
generated
6
flake.lock
generated
@@ -9,11 +9,11 @@
|
|||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758288107,
|
"lastModified": 1759166975,
|
||||||
"narHash": "sha256-5RSrpXvOixzXGUKagXHkcJyXe0MzBLSF36SELu9welg=",
|
"narHash": "sha256-QEs164tIjxuprOt4H9A335ymMMXhVZCVJXWFvHutGL8=",
|
||||||
"owner": "k2on",
|
"owner": "k2on",
|
||||||
"repo": "elytrarides",
|
"repo": "elytrarides",
|
||||||
"rev": "dc282388bbfa41c61dc0f04f582c09361c9b22c8",
|
"rev": "863d3491b89b52c8193d882c8b1c4a858376b1d7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -124,10 +124,12 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
ark = let system = "x86_64-linux";
|
ark = let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
secrets = import ./secrets;
|
||||||
in unstable.lib.nixosSystem {
|
in unstable.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = { inherit elytrarides; };
|
specialArgs = { inherit elytrarides secrets; };
|
||||||
modules = [
|
modules = [
|
||||||
./host/ark/default.nix
|
./host/ark/default.nix
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, elytrarides, ... }:
|
{ secrets, config, pkgs, elytrarides, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
users.users.elytra-web = {
|
users.users.elytra-web = {
|
||||||
@@ -33,11 +33,10 @@
|
|||||||
User = "elytra-web";
|
User = "elytra-web";
|
||||||
Group = "elytra-web";
|
Group = "elytra-web";
|
||||||
|
|
||||||
WorkingDirectory = "${elytrarides.packages.${pkgs.system}.web}/lib/node_modules/web";
|
WorkingDirectory = "${pkgs.web}/lib/node_modules/web";
|
||||||
ExecStart =
|
ExecStart =
|
||||||
"${pkgs.nodejs}/bin/node ${elytrarides.packages.${pkgs.system}.web}/lib/node_modules/web/node_modules/next/dist/bin/next start";
|
"${pkgs.nodejs}/bin/node ${pkgs.web}/lib/node_modules/web/node_modules/next/dist/bin/next start";
|
||||||
EnvironmentFile = config.sops.secrets."elytra-frontend-env".path;
|
EnvironmentFile = config.sops.secrets."elytra-frontend-env".path;
|
||||||
|
|
||||||
|
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
RestartSec = 10;
|
RestartSec = 10;
|
||||||
@@ -48,24 +47,54 @@
|
|||||||
ProtectSystem = "strict";
|
ProtectSystem = "strict";
|
||||||
ProtectHome = true;
|
ProtectHome = true;
|
||||||
|
|
||||||
# State directory for Next.js cache/data
|
|
||||||
StateDirectory = "elytra-web";
|
StateDirectory = "elytra-web";
|
||||||
StateDirectoryMode = "0750";
|
StateDirectoryMode = "0750";
|
||||||
|
|
||||||
# Logging
|
|
||||||
StandardOutput = "journal";
|
StandardOutput = "journal";
|
||||||
StandardError = "journal";
|
StandardError = "journal";
|
||||||
SyslogIdentifier = "elytra-web";
|
SyslogIdentifier = "elytra-web";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.postgresql = {
|
||||||
|
enable = true;
|
||||||
|
ensureDatabases = [ "backend" ];
|
||||||
|
ensureUsers = [
|
||||||
|
{
|
||||||
|
name = "backend";
|
||||||
|
ensureDBOwnership = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
services.redis = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(final: prev: {
|
||||||
|
web = elytrarides.packages.${pkgs.system}.web.overrideAttrs (old: {
|
||||||
|
buildPhase = ''
|
||||||
|
export NEXT_PUBLIC_GOOGLE_MAPS_API_KEY="${config.environment.sessionVariables.NEXT_PUBLIC_GOOGLE_MAPS_API_KEY}"
|
||||||
|
${old.buildPhase or "runHook preBuild; npm run build --if-present; runHook postBuild"}
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.sessionVariables.NEXT_PUBLIC_GOOGLE_MAPS_API_KEY = secrets.ark.elytra.google-maps-api-key;
|
||||||
|
|
||||||
systemd.services.elytra-backend = {
|
systemd.services.elytra-backend = {
|
||||||
description = "Elytra Rides Backend Service";
|
description = "Elytra Rides Backend Service";
|
||||||
after = [ "network.target" "postgresql.service" ];
|
after = [ "network.target" "postgresql.service" ];
|
||||||
wants = [ "network-online.target" ];
|
wants = [ "network-online.target" ];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${elytrarides.packages.${pkgs.system}.backend}/bin/backend";
|
|
||||||
|
ExecStart = "${elytrarides.packages.${pkgs.system}.backend}/bin/nujade_backend";
|
||||||
|
ExecStartPre = [
|
||||||
|
"${pkgs.diesel-cli}/bin/diesel --database-url=\"postgresql:///backend?user=backend\" migration run --migration-dir=${elytrarides.packages.${pkgs.system}.backend}/migrations"
|
||||||
|
];
|
||||||
|
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
RestartSec = 5;
|
RestartSec = 5;
|
||||||
User = "backend";
|
User = "backend";
|
||||||
@@ -75,7 +104,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
DATABASE_URL="postgresql://backend:password@localhost:5432/backend";
|
DATABASE_URL="postgresql:///backend?user=backend";
|
||||||
};
|
};
|
||||||
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
workspace = { wallpaper = "/home/max/bg.jpg"; };
|
workspace = { wallpaper = "/home/max/bg.jpg"; };
|
||||||
|
|
||||||
kwin = { virtualDesktops = { number = 9; }; };
|
kwin = { virtualDesktops = { number = 4; }; };
|
||||||
|
|
||||||
input = {
|
input = {
|
||||||
keyboard = {
|
keyboard = {
|
||||||
|
|||||||
2
secrets
2
secrets
Submodule secrets updated: cfc7b119bd...e13ba457d4
Reference in New Issue
Block a user