{ ... }: { networked-docker-containers = { nextcloud = { image = "nextcloud:fpm-alpine"; dependsOn = ["nextcloud-postgres"]; volumes = [ "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 = "nextcloud-postgres"; POSTGRES_PASSWORD = "rI7t7Nek1yGA9ucrRc7Uhy0jcjwPjnXa8me4o8tJON8="; OVERWRITEPROTOCOL = "https"; }; networks = [ "nextcloud" ]; extraDockerOptions = [ "--domainname=nextcloud.tlater.net" ]; }; nextcloud-cron = { image = "nextcloud:fpm-alpine"; entrypoint = "/cron.sh"; dependsOn = ["nextcloud-postgres"]; extraDockerOptions = [ "--volumes-from" "nextcloud" ]; }; nextcloud-nginx = { image = "nginx:alpine"; dependsOn = ["nextcloud"]; environment = { LETSENCRYPT_HOST = "nextcloud.tlater.net"; VIRTUAL_HOST = "nextcloud.tlater.net"; }; volumes = [ "${./configs/nginx-nextcloud.conf}:/etc/nginx/nginx.conf:ro" ]; networks = [ "webproxy" "nextcloud" ]; extraDockerOptions = [ "--volumes-from" "nextcloud" ]; }; nextcloud-postgres = { image = "postgres:alpine"; environment = { POSTGRES_DB = "nextcloud"; POSTGRES_USER = "nextcloud"; POSTGRES_PASSWORD = "rI7t7Nek1yGA9ucrRc7Uhy0jcjwPjnXa8me4o8tJON8="; }; volumes = [ "nextcloud-db-data:/var/lib/postgresql/data" ]; networks = [ "nextcloud" ]; }; }; }