Docker and postgres config

This commit is contained in:
Sam 2024-07-05 18:58:03 +01:00
parent 92d09646fa
commit 9ace130029
2 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,20 @@
{ inputs, ... }: {
imports = [ inputs.arion.nixosModules.arion ];
# Arion works with Docker, but for NixOS-based containers, you need Podman
# since NixOS 21.05.
virtualisation = {
podman = {
enable = true;
defaultNetwork.settings.dns_enabled = true;
};
docker = {
storageDriver = "btrfs";
rootless = {
enable = true;
setSocketVariable = true;
};
};
};
}

View File

@ -0,0 +1,29 @@
{ pkgs, ... }:
{
virtualisation.arion = {
backend = "docker";
projects = {
"db".settings.services."db".service = {
image = "postgres:16";
restart = "unless-stopped";
environment = {
POSTGRES_PASSWORD = "balls1234";
POSTGRES_USER = "admin";
POSTGRES_DATABASE = "test_db";
};
ports = [ "5432:5432" ];
volumes = [
"/mnt/postgres/data:/var/lib/postgres/data"
"${pkgs.writeScript "load_extensions" ''
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<EOF
create extension postgis;
select * FROM pg_extension;
EOF
''}:/docker-entrypoint-initdb.d/"
];
};
};
};
}