{config, ...}: { virtualisation.pods.nextcloud = { hostname = "nextcloud.tlater.net"; publish = ["3001:80"]; network = "slirp4netns"; containers = { nextcloud = { image = "nextcloud:fpm-alpine"; dependsOn = ["postgres"]; volumes = [ "nextcloud-root:/var/www/html" "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"; OVERWRITEPROTOCOL = "https"; TRUSTED_PROXIES = "127.0.0.1"; }; }; cron = { image = "nextcloud:fpm-alpine"; entrypoint = "/cron.sh"; dependsOn = ["postgres" "nextcloud"]; extraOptions = ["--volumes-from=nextcloud-nextcloud"]; }; 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"]; }; postgres = { image = "postgres:alpine"; environment = { POSTGRES_DB = "nextcloud"; POSTGRES_USER = "nextcloud"; }; volumes = ["nextcloud-postgres-14:/var/lib/postgresql/data"]; }; }; }; }