mirror of
https://forge.katzen.cafe/schrottkatze/nix-configs.git
synced 2024-11-29 07:58:45 +01:00
50 lines
1.4 KiB
Nix
50 lines
1.4 KiB
Nix
|
{ pkgs, inputs, ... }:
|
||
|
{
|
||
|
imports = [ inputs.arion.nixosModules.arion ];
|
||
|
virtualisation.docker.enable = true;
|
||
|
virtualisation.arion = {
|
||
|
backend = "docker";
|
||
|
projects.calckey.settings = {
|
||
|
networks.calcnet.name = "calcnet";
|
||
|
services = {
|
||
|
"web".service = {
|
||
|
image = "docker.io/thatonecalculator/calckey";
|
||
|
container_name = "calckey_web";
|
||
|
restart = "unless-stopped";
|
||
|
depends_on = [ "db" "redis" ];
|
||
|
ports = [ "3000:3000" ];
|
||
|
networks = [ "calcnet" ];
|
||
|
environment = {
|
||
|
"NODE_ENV" = "production";
|
||
|
};
|
||
|
volumes = [
|
||
|
"/calckey/files:/calckey/files"
|
||
|
"/calckey/config:/calckey/.config:ro"
|
||
|
];
|
||
|
};
|
||
|
"redis".service = {
|
||
|
image = "docker.io/redis:7.0-alpine";
|
||
|
container_name = "calckey_redis";
|
||
|
restart = "unless-stopped";
|
||
|
networks = [ "calcnet" ];
|
||
|
volumes = [ "/calckey/redis:/data" ];
|
||
|
};
|
||
|
"db".service = {
|
||
|
image = "docker.io/postgres:12.2-alpine";
|
||
|
container_name = "calckey_db";
|
||
|
restart = "unless-stopped";
|
||
|
networks = [ "calcnet" ];
|
||
|
environment = {
|
||
|
POSTGRES_PASSWORD = "calckey";
|
||
|
POSTGRES_USER = "calckey";
|
||
|
POSTGRES_DB = "calckey";
|
||
|
};
|
||
|
volumes = [
|
||
|
"/calckey/db:/var/lib/postgresql/data"
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|