[dm-companion] Fixes deployment script to apply migrations.

This commit is contained in:
2025-06-28 20:21:37 -07:00
parent 81cb09176c
commit 0a1d7a24e7
2 changed files with 22 additions and 6 deletions

View File

@@ -77,10 +77,11 @@ in
mkContainer { mkContainer {
inherit hostName; inherit hostName;
image = "docker.havenisms.com/lazy-dm/pocketbase"; image = "docker.havenisms.com/lazy-dm/pocketbase";
domain = terakoda;
port = 8080; port = 8080;
volumes = [ volumes = [
"dm-companion:/pb/pb_data" "/tank/web/dm.terakoda.com/pb_data:/pb/pb_data"
"/tank/web/dm.terakoda.com/pb_migrations:/pb/pb_migrations:ro" "/tank/web/dm.terakoda.com/pb_migrniations:/pb/pb_migrations:ro"
]; ];
environment = { }; environment = { };
extraLabels = { extraLabels = {

View File

@@ -3,7 +3,17 @@ let
gitKnownHosts = pkgs.writeText "known_hosts" '' gitKnownHosts = pkgs.writeText "known_hosts" ''
[git.blazestar.net]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDSikNAZDAbdQ5TA6Eg95FBM3sdPfAfghG+n56akCal8XXV/vOnXgqfeDASfXVOu+PZqCHnpGTxsym7hf2naFC0enznhS2sqahdQKKcsHvSfyQxpYFYyB2Zp8YDbnbRNGl2SbnqOajzk1SxJrJ0fFXmfrRIMnGNz+uFtIqc+T52CM051nd5Gj3f9a8xCwg7hedvSCynobsW9IOCmCc9rZ99TRd+m0kO74pUbgVqLv/+aSuW40K1uCkKgyh6PQsmkZd5GY0URwoJvLZauZLSPxl6DEU6lYz8S/hPrTP/e6fOPZsavQBYC+3Q/akoFnY+qlKgWLQy/Om6hz0EfYuuzNPRhf1jaGKjHgEri1f3OMgXcRMvjovRgbbu0JRGANmN8FMe20S4AAvbxmsQdQci+QcXZPDPbcmT3XJv8e8p4HNQyLxHyh0u9dLBE2ccTv5gdf/6iZy6WXlYEf1UAKC2lExRuKBV3lrnuyHhOj+iL09gUMYFuIyHuX2Hsw9yKZbO8J2+STNIVQfAJ0Upa2cJ33a6RlOxGiHXi4UbZTPguNgQaQdM0CuklVTynBfWr1Hfd8c8hVtT+HLz+XOU2Nrmgq90/w7g7mo5JxXHkcfBlqlXKONTkDUG3KHbwKtQNVC6l3bhpvPc32Mys6e7JeWnrb1zXojopnPvoct54qDVlwc5xQ== [git.blazestar.net]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDSikNAZDAbdQ5TA6Eg95FBM3sdPfAfghG+n56akCal8XXV/vOnXgqfeDASfXVOu+PZqCHnpGTxsym7hf2naFC0enznhS2sqahdQKKcsHvSfyQxpYFYyB2Zp8YDbnbRNGl2SbnqOajzk1SxJrJ0fFXmfrRIMnGNz+uFtIqc+T52CM051nd5Gj3f9a8xCwg7hedvSCynobsW9IOCmCc9rZ99TRd+m0kO74pUbgVqLv/+aSuW40K1uCkKgyh6PQsmkZd5GY0URwoJvLZauZLSPxl6DEU6lYz8S/hPrTP/e6fOPZsavQBYC+3Q/akoFnY+qlKgWLQy/Om6hz0EfYuuzNPRhf1jaGKjHgEri1f3OMgXcRMvjovRgbbu0JRGANmN8FMe20S4AAvbxmsQdQci+QcXZPDPbcmT3XJv8e8p4HNQyLxHyh0u9dLBE2ccTv5gdf/6iZy6WXlYEf1UAKC2lExRuKBV3lrnuyHhOj+iL09gUMYFuIyHuX2Hsw9yKZbO8J2+STNIVQfAJ0Upa2cJ33a6RlOxGiHXi4UbZTPguNgQaQdM0CuklVTynBfWr1Hfd8c8hVtT+HLz+XOU2Nrmgq90/w7g7mo5JxXHkcfBlqlXKONTkDUG3KHbwKtQNVC6l3bhpvPc32Mys6e7JeWnrb1zXojopnPvoct54qDVlwc5xQ==
''; '';
testHook = migratePocketbase =
with pkgs;
writeShellScript "migrate-pocketbase" ''
set -e
id
pwd
${pkgs.pocketbase}/bin/pocketbase migrate up
'';
deployNpmApp =
with pkgs; with pkgs;
writeShellApplication { writeShellApplication {
name = "build-npm-app"; name = "build-npm-app";
@@ -87,7 +97,7 @@ in
http-methods = [ "POST" ]; http-methods = [ "POST" ];
command-working-directory = "/tank/web/terakoda.com"; command-working-directory = "/tank/web/terakoda.com";
include-command-output-in-response-on-error = true; include-command-output-in-response-on-error = true;
execute-command = "${testHook}/bin/build-npm-app"; execute-command = "${deployNpmApp}/bin/build-npm-app";
trigger-rule-mismatch-http-response-code = 400; trigger-rule-mismatch-http-response-code = 400;
inherit trigger-rule; inherit trigger-rule;
}; };
@@ -96,7 +106,12 @@ in
http-methods = [ "POST" ]; http-methods = [ "POST" ];
command-working-directory = "/tank/web/dm.terakoda.com"; command-working-directory = "/tank/web/dm.terakoda.com";
include-command-output-in-response-on-error = true; include-command-output-in-response-on-error = true;
execute-command = "${testHook}/bin/build-npm-app"; execute-command = toString (
pkgs.writeShellScript "deploy-dm-terakoda-com" ''
"${deployNpmApp}/bin/build-npm-app";
"${migratePocketbase}";
''
);
trigger-rule-mismatch-http-response-code = 400; trigger-rule-mismatch-http-response-code = 400;
inherit trigger-rule; inherit trigger-rule;
}; };
@@ -105,7 +120,7 @@ in
http-methods = [ "POST" ]; http-methods = [ "POST" ];
command-working-directory = "/tank/web/blazestar.net"; command-working-directory = "/tank/web/blazestar.net";
include-command-output-in-response-on-error = true; include-command-output-in-response-on-error = true;
execute-command = "${testHook}/bin/build-npm-app"; execute-command = "${deployNpmApp}/bin/build-npm-app";
trigger-rule-mismatch-http-response-code = 400; trigger-rule-mismatch-http-response-code = 400;
inherit trigger-rule; inherit trigger-rule;
}; };