Some checks failed
CI / check (push) Has been cancelled
CI / ida (push) Has been cancelled
CI / cpt (push) Has been cancelled
CI / build-nixos (ena) (push) Has been cancelled
CI / build-nixos (hako) (push) Has been cancelled
CI / build-nixos (kazusa) (push) Has been cancelled
CI / build-nixos (mizuki) (push) Has been cancelled
133 lines
2.8 KiB
Nix
133 lines
2.8 KiB
Nix
{ ... }:
|
|
|
|
{
|
|
networking.firewall.allowedTCPPorts = [
|
|
60300
|
|
9980
|
|
];
|
|
|
|
virtualisation.quadlet = {
|
|
networks.nextcloud = { };
|
|
|
|
containers = {
|
|
nextcloud-db = {
|
|
containerConfig = {
|
|
image = "postgres:17";
|
|
networks = [ "nextcloud" ];
|
|
|
|
volumes = [
|
|
"/data/nextcloud/db:/var/lib/postgresql/data:Z"
|
|
];
|
|
|
|
environmentFiles = [
|
|
"/data/nextcloud/db.env"
|
|
];
|
|
|
|
exec = "postgres -c listen_addresses='*' -c unix_socket_directories=''";
|
|
};
|
|
|
|
serviceConfig.Restart = "always";
|
|
};
|
|
|
|
nextcloud-redis = {
|
|
containerConfig = {
|
|
image = "redis:alpine";
|
|
networks = [ "nextcloud" ];
|
|
};
|
|
|
|
serviceConfig.Restart = "always";
|
|
};
|
|
|
|
nextcloud-app = {
|
|
containerConfig = {
|
|
image = "nextcloud:apache";
|
|
|
|
publishPorts = [ "60300:80" ];
|
|
|
|
networks = [ "nextcloud" ];
|
|
|
|
volumes = [
|
|
"/mnt/snow/Docker/nextcloud/data:/var/www/html:z"
|
|
];
|
|
|
|
# environments로 변경 및 attrset 형식으로 정의
|
|
environments = {
|
|
POSTGRES_HOST = "nextcloud-db";
|
|
REDIS_HOST = "nextcloud-redis";
|
|
NEXTCLOUD_OVERWRITEPROTOCOL = "https";
|
|
};
|
|
|
|
environmentFiles = [
|
|
"/data/nextcloud/db.env"
|
|
];
|
|
};
|
|
|
|
unitConfig = {
|
|
Requires = [
|
|
"nextcloud-db.service"
|
|
"nextcloud-redis.service"
|
|
];
|
|
|
|
After = [
|
|
"nextcloud-db.service"
|
|
"nextcloud-redis.service"
|
|
];
|
|
};
|
|
|
|
serviceConfig.Restart = "always";
|
|
};
|
|
|
|
nextcloud-cron = {
|
|
containerConfig = {
|
|
image = "nextcloud:apache";
|
|
|
|
networks = [ "nextcloud" ];
|
|
|
|
volumes = [
|
|
"/mnt/snow/Docker/nextcloud/data:/var/www/html:z"
|
|
];
|
|
|
|
exec = "/cron.sh";
|
|
};
|
|
|
|
unitConfig = {
|
|
Requires = [
|
|
"nextcloud-db.service"
|
|
"nextcloud-redis.service"
|
|
];
|
|
|
|
After = [
|
|
"nextcloud-db.service"
|
|
"nextcloud-redis.service"
|
|
];
|
|
};
|
|
|
|
serviceConfig.Restart = "always";
|
|
};
|
|
|
|
collabora = {
|
|
containerConfig = {
|
|
image = "collabora/code:latest";
|
|
|
|
hostname = "collabora";
|
|
|
|
publishPorts = [ "9980:9980" ];
|
|
|
|
addCapabilities = [ "MKNOD" ];
|
|
|
|
podmanArgs = [
|
|
"--privileged"
|
|
"--tty"
|
|
];
|
|
|
|
# environments로 변경 및 attrset 형식으로 정의
|
|
environments = {
|
|
extra_params = "--o:ssl.enable=false --o:ssl.termination=true";
|
|
};
|
|
};
|
|
|
|
serviceConfig.Restart = "always";
|
|
};
|
|
};
|
|
};
|
|
}
|