# Auto-generated using compose2nix v0.3.1. { pkgs, lib, ... }: { # Runtime virtualisation.docker = { enable = true; autoPrune.enable = true; }; virtualisation.oci-containers.backend = "docker"; # Containers virtualisation.oci-containers.containers."filerun-db" = { image = "mariadb:10.5"; environment = { "MYSQL_DATABASE" = "filerun"; "MYSQL_PASSWORD" = "m3kItsvjLTYWtYX1TQLxwAKBWDVnWsezPR3vtVS+rsHUlazY"; "MYSQL_ROOT_PASSWORD" = "pHUlPjDwhfpfAJPlF/FYN8q5w2R+0/U4aosJ5FOBPIejHkmm"; "MYSQL_USER" = "admin"; }; volumes = [ "/pool/filerun/db:/var/lib/mysql:rw" ]; user = "root"; log-driver = "journald"; extraOptions = [ "--network-alias=db" "--network=filerun_default" ]; }; systemd.services."docker-filerun-db" = { serviceConfig = { Restart = lib.mkOverride 90 "always"; RestartMaxDelaySec = lib.mkOverride 90 "1m"; RestartSec = lib.mkOverride 90 "100ms"; RestartSteps = lib.mkOverride 90 9; }; after = [ "docker-network-filerun_default.service" ]; requires = [ "docker-network-filerun_default.service" ]; partOf = [ "docker-compose-filerun-root.target" ]; wantedBy = [ "docker-compose-filerun-root.target" ]; }; virtualisation.oci-containers.containers."filerun-web" = { image = "filerun/filerun:8.1"; environment = { "APACHE_RUN_GROUP" = "toph"; "APACHE_RUN_GROUP_ID" = "100"; "APACHE_RUN_USER" = "toph"; "APACHE_RUN_USER_ID" = "1000"; "FR_DB_HOST" = "db"; "FR_DB_NAME" = "filerun"; "FR_DB_PASS" = "m3kItsvjLTYWtYX1TQLxwAKBWDVnWsezPR3vtVS+rsHUlazY"; "FR_DB_PORT" = "3306"; "FR_DB_USER" = "admin"; }; volumes = [ "/pool/filerun/html:/var/www/html:rw" "/pool/filerun/user-files:/user-files:rw" ]; ports = [ "8181:80/tcp" ]; dependsOn = [ "filerun-db" ]; user = "root"; log-driver = "journald"; extraOptions = [ "--network-alias=web" "--network=filerun_default" ]; }; systemd.services."docker-filerun-web" = { serviceConfig = { Restart = lib.mkOverride 90 "always"; RestartMaxDelaySec = lib.mkOverride 90 "1m"; RestartSec = lib.mkOverride 90 "100ms"; RestartSteps = lib.mkOverride 90 9; }; after = [ "docker-network-filerun_default.service" ]; requires = [ "docker-network-filerun_default.service" ]; partOf = [ "docker-compose-filerun-root.target" ]; wantedBy = [ "docker-compose-filerun-root.target" ]; }; # Networks systemd.services."docker-network-filerun_default" = { path = [ pkgs.docker ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; ExecStop = "docker network rm -f filerun_default"; }; script = '' docker network inspect filerun_default || docker network create filerun_default ''; partOf = [ "docker-compose-filerun-root.target" ]; wantedBy = [ "docker-compose-filerun-root.target" ]; }; # Root service # When started, this will automatically create all resources and start # the containers. When stopped, this will teardown all resources. systemd.targets."docker-compose-filerun-root" = { unitConfig = { Description = "Root target generated by compose2nix."; }; wantedBy = [ "multi-user.target" ]; }; }