tlaternet-server/configuration/services/nextcloud.nix

54 lines
1.5 KiB
Nix
Raw Normal View History

{config, ...}: {
2021-04-12 01:42:46 +01:00
virtualisation.pods.nextcloud = {
hostname = "nextcloud.tlater.net";
publish = ["3001:80"];
network = "slirp4netns";
2021-04-12 01:42:46 +01:00
containers = {
nextcloud = {
image = "nextcloud:fpm-alpine";
dependsOn = ["postgres"];
2021-04-12 01:42:46 +01:00
volumes = [
"nextcloud-root:/var/www/html"
2021-04-12 01:42:46 +01:00
"nextcloud-apps:/var/www/html/custom_apps"
"nextcloud-config:/var/www/html/config"
"nextcloud-data:/var/www/html/data"
];
environment = {
POSTGRES_DB = "nextcloud";
POSTGRES_USER = "nextcloud";
POSTGRES_HOST = "localhost";
2021-04-12 01:42:46 +01:00
OVERWRITEPROTOCOL = "https";
TRUSTED_PROXIES = "127.0.0.1";
2021-04-12 01:42:46 +01:00
};
};
cron = {
image = "nextcloud:fpm-alpine";
entrypoint = "/cron.sh";
dependsOn = ["postgres" "nextcloud"];
extraOptions = ["--volumes-from=nextcloud-nextcloud"];
2021-04-12 01:42:46 +01:00
};
nginx = {
image = "nginx:alpine";
dependsOn = ["nextcloud"];
volumes = [
"nextcloud-root:/var/www/html:ro"
"${./configs/nginx-nextcloud.conf}:/etc/nginx/nginx.conf:ro"
];
extraOptions = ["--volumes-from=nextcloud-nextcloud"];
2021-04-12 01:42:46 +01:00
};
postgres = {
image = "postgres:alpine";
environment = {
POSTGRES_DB = "nextcloud";
POSTGRES_USER = "nextcloud";
};
volumes = ["nextcloud-postgres-14:/var/lib/postgresql/data"];
2021-04-12 01:42:46 +01:00
};
};
};
}