37 lines
1.1 KiB
Nix
37 lines
1.1 KiB
Nix
|
|
{ config, pkgs, self, ... }:
|
|||
|
|
|
|||
|
|
let
|
|||
|
|
passwordmanager_compose_dir = pkgs.stdenv.mkDerivation {
|
|||
|
|
name = "passwordmanager_compose_dir";
|
|||
|
|
src = self + "/assets/compose/passwordmanager";
|
|||
|
|
dontUnpack = true;
|
|||
|
|
installPhase = ''
|
|||
|
|
mkdir -p $out
|
|||
|
|
cp -r $src/* $out/
|
|||
|
|
'';
|
|||
|
|
};
|
|||
|
|
in
|
|||
|
|
{
|
|||
|
|
systemd.services.passwordmanager_stack = {
|
|||
|
|
description = "Bitwarden via Docker Compose";
|
|||
|
|
after = [ "network-online.target" "docker.service" ];
|
|||
|
|
wants = [ "network-online.target" "docker.service" ];
|
|||
|
|
serviceConfig = {
|
|||
|
|
WorkingDirectory = "${passwordmanager_compose_dir}";
|
|||
|
|
|
|||
|
|
# Stop left over container by the same name
|
|||
|
|
ExecStartPre = "${pkgs.bash}/bin/bash -c '${pkgs.docker-compose}/bin/docker-compose down || true'";
|
|||
|
|
|
|||
|
|
# Démarrer les conteneurs avec Docker Compose
|
|||
|
|
ExecStart = "${pkgs.docker-compose}/bin/docker-compose up -d";
|
|||
|
|
|
|||
|
|
# Arrêter et supprimer les conteneurs à l’arrêt
|
|||
|
|
ExecStop = "${pkgs.docker-compose}/bin/docker-compose down";
|
|||
|
|
|
|||
|
|
RemainAfterExit = true;
|
|||
|
|
TimeoutStartSec = 0;
|
|||
|
|
};
|
|||
|
|
wantedBy = [ "multi-user.target" ];
|
|||
|
|
};
|
|||
|
|
}
|