i can't remember what caused this...
This commit is contained in:
@@ -0,0 +1,337 @@
|
||||
# Auto-generated using compose2nix v0.1.6.
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
# Runtime
|
||||
virtualisation.podman = {
|
||||
enable = true;
|
||||
autoPrune.enable = true;
|
||||
dockerCompat = true;
|
||||
defaultNetwork.settings = {
|
||||
# Required for container networking to be able to use names.
|
||||
dns_enabled = true;
|
||||
};
|
||||
};
|
||||
virtualisation.oci-containers.backend = "podman";
|
||||
|
||||
# Containers
|
||||
virtualisation.oci-containers.containers."blackbird-api" = {
|
||||
image = "";
|
||||
environment = {
|
||||
API_DOMAIN = "http://localhost:3000";
|
||||
DATABASE_URL = "postgresql://nomads:nomads@pgsql:5432/nomads?schema=public";
|
||||
JWT_SECRET = "test1234";
|
||||
MEDIA_LOCATION = "./data/media/";
|
||||
MEDIA_LOCATION_DOWNLOAD_CACHE = "/data/media/downloadCache";
|
||||
MEDIA_LOCATION_INCOMING = "/data/media/incoming";
|
||||
MINIO_HOST = "minio";
|
||||
MINIO_PORT = "9000";
|
||||
MINIO_ROOT_PASSWORD = "password";
|
||||
MINIO_ROOT_USER = "blackbird";
|
||||
NODE_ENV = "development";
|
||||
PORT = "3000";
|
||||
POSTGRES_LOCAL_MACHINE_PORT = "5434";
|
||||
POSTGRES_PASSWORD = "nomads";
|
||||
POSTGRES_USER = "nomads";
|
||||
REACT_APP_API_DOMAIN = "http://localhost:3000";
|
||||
REDIS_HOST = "redis";
|
||||
REDIS_PASSWORD = "password";
|
||||
REDIS_PORT = "6379";
|
||||
REFRESH_TOKEN_SECRET = "test1234";
|
||||
STATIC_MEDIA_HOST = "http://localhost:3000";
|
||||
STRIPE_KEY = "";
|
||||
};
|
||||
volumes = [
|
||||
"/home/anish/.ssh:/root/.ssh:rw"
|
||||
"/home/anish/usr/mirlo:/var/www/api:rw"
|
||||
"/home/anish/usr/mirlo/data/media/downloadCache:/data/media/downloadCache:rw"
|
||||
"/home/anish/usr/mirlo/data/media/incoming:/data/media/incoming:rw"
|
||||
];
|
||||
ports = [
|
||||
"3000:3000/tcp"
|
||||
];
|
||||
cmd = [ "/bin/sh" "-c" "yarn && yarn migrate:deploy && yarn dev:api" ];
|
||||
dependsOn = [
|
||||
"blackbird-minio"
|
||||
"blackbird-pgsql"
|
||||
"blackbird-redis"
|
||||
];
|
||||
log-driver = "journald";
|
||||
extraOptions = [
|
||||
"--network-alias=api"
|
||||
"--network=mirlo-api-network"
|
||||
"--network=mirlo-redis-network"
|
||||
];
|
||||
};
|
||||
systemd.services."podman-blackbird-api" = {
|
||||
serviceConfig = {
|
||||
Restart = lib.mkOverride 500 "always";
|
||||
};
|
||||
after = [
|
||||
"podman-network-mirlo-api-network.service"
|
||||
"podman-network-mirlo-redis-network.service"
|
||||
];
|
||||
requires = [
|
||||
"podman-network-mirlo-api-network.service"
|
||||
"podman-network-mirlo-redis-network.service"
|
||||
];
|
||||
partOf = [
|
||||
"podman-compose-mirlo-root.target"
|
||||
];
|
||||
unitConfig.UpheldBy = [
|
||||
"podman-blackbird-minio.service"
|
||||
"podman-blackbird-pgsql.service"
|
||||
"podman-blackbird-redis.service"
|
||||
];
|
||||
wantedBy = [
|
||||
"podman-compose-mirlo-root.target"
|
||||
];
|
||||
};
|
||||
virtualisation.oci-containers.containers."blackbird-background" = {
|
||||
image = "";
|
||||
environment = {
|
||||
API_DOMAIN = "http://localhost:3000";
|
||||
DATABASE_URL = "postgresql://nomads:nomads@pgsql:5432/nomads?schema=public";
|
||||
JWT_SECRET = "test1234";
|
||||
MEDIA_LOCATION = "./data/media/";
|
||||
MEDIA_LOCATION_DOWNLOAD_CACHE = "/data/media/downloadCache";
|
||||
MEDIA_LOCATION_INCOMING = "/data/media/incoming";
|
||||
MINIO_HOST = "minio";
|
||||
MINIO_PORT = "9000";
|
||||
MINIO_ROOT_PASSWORD = "password";
|
||||
MINIO_ROOT_USER = "blackbird";
|
||||
NODE_ENV = "development";
|
||||
PORT = "3000";
|
||||
POSTGRES_LOCAL_MACHINE_PORT = "5434";
|
||||
POSTGRES_PASSWORD = "nomads";
|
||||
POSTGRES_USER = "nomads";
|
||||
REACT_APP_API_DOMAIN = "http://localhost:3000";
|
||||
REDIS_HOST = "redis";
|
||||
REDIS_PASSWORD = "password";
|
||||
REDIS_PORT = "6379";
|
||||
REFRESH_TOKEN_SECRET = "test1234";
|
||||
STATIC_MEDIA_HOST = "http://localhost:3000";
|
||||
STRIPE_KEY = "";
|
||||
};
|
||||
volumes = [
|
||||
"/home/anish/.ssh:/root/.ssh:rw"
|
||||
"/home/anish/usr/mirlo:/var/www/api:rw"
|
||||
"/home/anish/usr/mirlo/data/media/processing:/data/media/processing:rw"
|
||||
];
|
||||
dependsOn = [
|
||||
"blackbird-api"
|
||||
"blackbird-minio"
|
||||
"blackbird-pgsql"
|
||||
"blackbird-redis"
|
||||
];
|
||||
log-driver = "journald";
|
||||
extraOptions = [
|
||||
"--network-alias=background"
|
||||
"--network=mirlo-api-network"
|
||||
"--network=mirlo-redis-network"
|
||||
];
|
||||
};
|
||||
systemd.services."podman-blackbird-background" = {
|
||||
serviceConfig = {
|
||||
Restart = lib.mkOverride 500 "always";
|
||||
};
|
||||
after = [
|
||||
"podman-network-mirlo-api-network.service"
|
||||
"podman-network-mirlo-redis-network.service"
|
||||
];
|
||||
requires = [
|
||||
"podman-network-mirlo-api-network.service"
|
||||
"podman-network-mirlo-redis-network.service"
|
||||
];
|
||||
partOf = [
|
||||
"podman-compose-mirlo-root.target"
|
||||
];
|
||||
unitConfig.UpheldBy = [
|
||||
"podman-blackbird-api.service"
|
||||
"podman-blackbird-minio.service"
|
||||
"podman-blackbird-pgsql.service"
|
||||
"podman-blackbird-redis.service"
|
||||
];
|
||||
wantedBy = [
|
||||
"podman-compose-mirlo-root.target"
|
||||
];
|
||||
};
|
||||
virtualisation.oci-containers.containers."blackbird-minio" = {
|
||||
image = "minio/minio";
|
||||
environment = {
|
||||
API_DOMAIN = "http://localhost:3000";
|
||||
DATABASE_URL = "postgresql://nomads:nomads@pgsql:5432/nomads?schema=public";
|
||||
JWT_SECRET = "test1234";
|
||||
MEDIA_LOCATION = "./data/media/";
|
||||
MEDIA_LOCATION_DOWNLOAD_CACHE = "/data/media/downloadCache";
|
||||
MEDIA_LOCATION_INCOMING = "/data/media/incoming";
|
||||
MINIO_HOST = "minio";
|
||||
MINIO_PORT = "9000";
|
||||
MINIO_ROOT_PASSWORD = "password";
|
||||
MINIO_ROOT_USER = "blackbird";
|
||||
PORT = "3000";
|
||||
POSTGRES_LOCAL_MACHINE_PORT = "5434";
|
||||
POSTGRES_PASSWORD = "nomads";
|
||||
POSTGRES_USER = "nomads";
|
||||
REACT_APP_API_DOMAIN = "http://localhost:3000";
|
||||
REDIS_HOST = "redis";
|
||||
REDIS_PASSWORD = "password";
|
||||
REDIS_PORT = "6379";
|
||||
REFRESH_TOKEN_SECRET = "test1234";
|
||||
STATIC_MEDIA_HOST = "http://localhost:3000";
|
||||
STRIPE_KEY = "";
|
||||
};
|
||||
volumes = [
|
||||
"/home/anish/usr/mirlo/data/minio_storage:/data:rw"
|
||||
];
|
||||
ports = [
|
||||
"9000:9000/tcp"
|
||||
"9001:9001/tcp"
|
||||
];
|
||||
cmd = [ "server" "--console-address" ":9001" "/data" ];
|
||||
log-driver = "journald";
|
||||
extraOptions = [
|
||||
"--network-alias=minio"
|
||||
"--network=mirlo-api-network:alias=minio"
|
||||
];
|
||||
};
|
||||
systemd.services."podman-blackbird-minio" = {
|
||||
serviceConfig = {
|
||||
Restart = lib.mkOverride 500 "no";
|
||||
};
|
||||
after = [
|
||||
"podman-network-mirlo-api-network.service"
|
||||
];
|
||||
requires = [
|
||||
"podman-network-mirlo-api-network.service"
|
||||
];
|
||||
partOf = [
|
||||
"podman-compose-mirlo-root.target"
|
||||
];
|
||||
wantedBy = [
|
||||
"podman-compose-mirlo-root.target"
|
||||
];
|
||||
};
|
||||
virtualisation.oci-containers.containers."blackbird-pgsql" = {
|
||||
image = "postgres:14-alpine";
|
||||
environment = {
|
||||
API_DOMAIN = "http://localhost:3000";
|
||||
DATABASE_URL = "postgresql://nomads:nomads@pgsql:5432/nomads?schema=public";
|
||||
JWT_SECRET = "test1234";
|
||||
MEDIA_LOCATION = "./data/media/";
|
||||
MEDIA_LOCATION_DOWNLOAD_CACHE = "/data/media/downloadCache";
|
||||
MEDIA_LOCATION_INCOMING = "/data/media/incoming";
|
||||
MINIO_HOST = "minio";
|
||||
MINIO_PORT = "9000";
|
||||
MINIO_ROOT_PASSWORD = "password";
|
||||
MINIO_ROOT_USER = "blackbird";
|
||||
PORT = "3000";
|
||||
POSTGRES_LOCAL_MACHINE_PORT = "5434";
|
||||
POSTGRES_PASSWORD = "nomads";
|
||||
POSTGRES_USER = "nomads";
|
||||
REACT_APP_API_DOMAIN = "http://localhost:3000";
|
||||
REDIS_HOST = "redis";
|
||||
REDIS_PASSWORD = "password";
|
||||
REDIS_PORT = "6379";
|
||||
REFRESH_TOKEN_SECRET = "test1234";
|
||||
STATIC_MEDIA_HOST = "http://localhost:3000";
|
||||
STRIPE_KEY = "";
|
||||
};
|
||||
volumes = [
|
||||
"/home/anish/usr/mirlo/data/pgsql:/var/lib/postgresql/data:rw"
|
||||
"/home/anish/usr/mirlo/data/pgsql_backups:/backups:rw"
|
||||
];
|
||||
ports = [
|
||||
"5432:5432/tcp"
|
||||
];
|
||||
log-driver = "journald";
|
||||
extraOptions = [
|
||||
"--network-alias=pgsql"
|
||||
"--network=mirlo-api-network:alias=pgsql"
|
||||
];
|
||||
};
|
||||
systemd.services."podman-blackbird-pgsql" = {
|
||||
serviceConfig = {
|
||||
Restart = lib.mkOverride 500 "no";
|
||||
};
|
||||
after = [
|
||||
"podman-network-mirlo-api-network.service"
|
||||
];
|
||||
requires = [
|
||||
"podman-network-mirlo-api-network.service"
|
||||
];
|
||||
partOf = [
|
||||
"podman-compose-mirlo-root.target"
|
||||
];
|
||||
wantedBy = [
|
||||
"podman-compose-mirlo-root.target"
|
||||
];
|
||||
};
|
||||
virtualisation.oci-containers.containers."blackbird-redis" = {
|
||||
image = "redis";
|
||||
ports = [
|
||||
"6379:6379/tcp"
|
||||
];
|
||||
cmd = [ "redis-server" "--appendonly" "yes" "--requirepass " ];
|
||||
log-driver = "journald";
|
||||
extraOptions = [
|
||||
"--network-alias=redis"
|
||||
"--network=mirlo-redis-network"
|
||||
];
|
||||
};
|
||||
systemd.services."podman-blackbird-redis" = {
|
||||
serviceConfig = {
|
||||
Restart = lib.mkOverride 500 "always";
|
||||
};
|
||||
after = [
|
||||
"podman-network-mirlo-redis-network.service"
|
||||
];
|
||||
requires = [
|
||||
"podman-network-mirlo-redis-network.service"
|
||||
];
|
||||
partOf = [
|
||||
"podman-compose-mirlo-root.target"
|
||||
];
|
||||
wantedBy = [
|
||||
"podman-compose-mirlo-root.target"
|
||||
];
|
||||
};
|
||||
|
||||
# Networks
|
||||
systemd.services."podman-network-mirlo-api-network" = {
|
||||
path = [ pkgs.podman ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStop = "${pkgs.podman}/bin/podman network rm -f mirlo-api-network";
|
||||
};
|
||||
script = ''
|
||||
podman network inspect mirlo-api-network || podman network create mirlo-api-network --opt isolate=true
|
||||
'';
|
||||
partOf = [ "podman-compose-mirlo-root.target" ];
|
||||
wantedBy = [ "podman-compose-mirlo-root.target" ];
|
||||
};
|
||||
systemd.services."podman-network-mirlo-redis-network" = {
|
||||
path = [ pkgs.podman ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStop = "${pkgs.podman}/bin/podman network rm -f mirlo-redis-network";
|
||||
};
|
||||
script = ''
|
||||
podman network inspect mirlo-redis-network || podman network create mirlo-redis-network --opt isolate=true
|
||||
'';
|
||||
partOf = [ "podman-compose-mirlo-root.target" ];
|
||||
wantedBy = [ "podman-compose-mirlo-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."podman-compose-mirlo-root" = {
|
||||
unitConfig = {
|
||||
Description = "Root target generated by compose2nix.";
|
||||
};
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user