diff --git a/nextcloud/domain-nextcloud.json b/nextcloud/domain-nextcloud.json new file mode 100644 index 0000000..6a9f7d4 --- /dev/null +++ b/nextcloud/domain-nextcloud.json @@ -0,0 +1,58 @@ + { + "main": { + "SERVICE_NAME": "nextcloud-server", + "DOMAIN": "DOMAIN_NAME" + }, + "containers": [ + { + "IMAGE": "registry.format.hu/domain-check", + "UPDATE": "true", + "MEMORY": "64M", + "NAME": "domain_checker", + "ROLES": "domain_checker", + "NETWORK": "host", + "SELECTOR": "", + "SCALE": "0", + "EXTRA": "--rm --privileged", + "PRE_START": [], + "DEPEND": [], + "POST_START": [], + "CMD": "", + "ENVS": [ + { "PROXY": "smarthostloadbalancer" }, + { "TARGET": "nextcloudnginx" }, + { "PORT": "80" }, + { "DOMAIN": "DOMAIN_NAME" }, + { "PUBLIC_PROXY_PATH": "/domains" }, + { "SMARTHOST_PROXY_PATH": "/smarthost-domains" }, + { "OPERATION": "CREATE" } + ], + "VOLUMES": [ + { + "SOURCE": "/etc/user/config/domains", + "DEST": "/domains", + "TYPE": "rw" + }, + { + "SOURCE": "/etc/user/config/smarthost-domains", + "DEST": "/smarthost-domains", + "TYPE": "rw" + }, + { + "SOURCE": "/etc/system/data/dns/hosts.local", + "DEST": "/etc/dns/hosts.local", + "TYPE": "ro" + }, + { + "SOURCE": "/var/run/docker.sock", + "DEST": "/var/run/docker.sock", + "TYPE": "rw" }, + { + "SOURCE": "/usr/bin/docker", + "DEST": "/usr/bin/docker", + "TYPE": "ro" + } + ] + } + ] +} diff --git a/nextcloud/firewall-nextcloud-dns.json b/nextcloud/firewall-nextcloud-dns.json new file mode 100644 index 0000000..4ad64e8 --- /dev/null +++ b/nextcloud/firewall-nextcloud-dns.json @@ -0,0 +1,63 @@ +{ + "main": { + "SERVICE_NAME": "firewalls", + "DOMAIN": "null" + }, + "containers": [ + { + "IMAGE": "registry.format.hu/firewall", + "UDAPE": "true", + "NAME": "firewall", + "MEMORY": "64M", + "NETWORK": "host", + "SCALE": "0", + "VOLUMES": [ + { + "SOURCE": "/run/", + "DEST": "/run/", + "TYPE": "rw" + }, + { + "SOURCE": "/etc/user/config/services", + "DEST": "/services", + "TYPE": "ro" + }, + { + "SOURCE": "/etc/system/data/dns/hosts.local", + "DEST": "/etc/dns/hosts.local", + "TYPE": "ro" + }, + { + "SOURCE": "/var/run/docker.sock", + "DEST": "/var/run/docker.sock", + "TYPE": "rw" + }, + { + "SOURCE": "/usr/bin/docker", + "DEST": "/usr/bin/docker", + "TYPE": "ro" + } + ], + "PORTS": [ ], + "READYNESS": [ + {"tcp": ""}, + {"HTTP": ""}, + {"EXEC": "/ready.sh"} + ], + "ENVS": [ + { "CHAIN": "DOCKER-USER" }, + { "SOURCE": "nextcloudnginx" }, + { "TARGET": "coredns" }, + { "TYPE": "udp" }, + { "TARGET_PORT": "53" }, + { "COMMENT": "nextcloud nginx access for local dns" } + ], + "EXTRA": "--privileged --rm", + "DEPEND": "null", + "START_ON_BOOT": "false", + "CMD": "", + "PRE_START": [], + "POST_START": [] + } + ] +} diff --git a/nextcloud/firewall-nextcloud-server-dns.json b/nextcloud/firewall-nextcloud-server-dns.json new file mode 100644 index 0000000..41b5b75 --- /dev/null +++ b/nextcloud/firewall-nextcloud-server-dns.json @@ -0,0 +1,63 @@ +{ + "main": { + "SERVICE_NAME": "firewalls", + "DOMAIN": "null" + }, + "containers": [ + { + "IMAGE": "registry.format.hu/firewall", + "UDAPE": "true", + "NAME": "firewall", + "MEMORY": "64M", + "NETWORK": "host", + "SCALE": "0", + "VOLUMES": [ + { + "SOURCE": "/run/", + "DEST": "/run/", + "TYPE": "rw" + }, + { + "SOURCE": "/etc/user/config/services", + "DEST": "/services", + "TYPE": "ro" + }, + { + "SOURCE": "/etc/system/data/dns/hosts.local", + "DEST": "/etc/dns/hosts.local", + "TYPE": "ro" + }, + { + "SOURCE": "/var/run/docker.sock", + "DEST": "/var/run/docker.sock", + "TYPE": "rw" + }, + { + "SOURCE": "/usr/bin/docker", + "DEST": "/usr/bin/docker", + "TYPE": "ro" + } + ], + "PORTS": [ ], + "READYNESS": [ + {"tcp": ""}, + {"HTTP": ""}, + {"EXEC": "/ready.sh"} + ], + "ENVS": [ + { "CHAIN": "DOCKER-USER" }, + { "SOURCE": "nextcloudphpfpm" }, + { "TARGET": "coredns" }, + { "TYPE": "udp" }, + { "TARGET_PORT": "53" }, + { "COMMENT": "nextcloud access for local dns" } + ], + "EXTRA": "--privileged --rm", + "DEPEND": "null", + "START_ON_BOOT": "false", + "CMD": "", + "PRE_START": [], + "POST_START": [] + } + ] +} diff --git a/nextcloud/firewall-nextcloud-server-smtp.json b/nextcloud/firewall-nextcloud-server-smtp.json new file mode 100644 index 0000000..b540662 --- /dev/null +++ b/nextcloud/firewall-nextcloud-server-smtp.json @@ -0,0 +1,62 @@ +{ + "main": { + "SERVICE_NAME": "firewalls", + "DOMAIN": "null" + }, + "containers": [ + { + "IMAGE": "registry.format.hu/firewall", + "NAME": "firewall", + "MEMORY": "64M", + "NETWORK": "host", + "SCALE": "0", + "VOLUMES": [ + { + "SOURCE": "/run/", + "DEST": "/run/", + "TYPE": "rw" + }, + { + "SOURCE": "/etc/user/config/services", + "DEST": "/services", + "TYPE": "ro" + }, + { + "SOURCE": "/etc/system/data/dns/hosts.local", + "DEST": "/etc/dns/hosts.local", + "TYPE": "ro" + }, + { + "SOURCE": "/var/run/docker.sock", + "DEST": "/var/run/docker.sock", + "TYPE": "rw" + }, + { + "SOURCE": "/usr/bin/docker", + "DEST": "/usr/bin/docker", + "TYPE": "ro" + } + ], + "PORTS": [ ], + "READYNESS": [ + {"tcp": ""}, + {"HTTP": ""}, + {"EXEC": "/ready.sh"} + ], + "ENVS": [ + { "CHAIN": "DOCKER-USER" }, + { "SOURCE": "nextcloudphpfpm" }, + { "TARGET": "smtp" }, + { "TYPE": "tcp" }, + { "TARGET_PORT": "25" }, + { "COMMENT": "nextcloud to smtp" } + ], + "EXTRA": "--privileged --rm", + "DEPEND": "null", + "START_ON_BOOT": "false", + "CMD": "null", + "PRE_START": "null", + "POST_START": "null" + } + ] +} diff --git a/nextcloud/firewall-nextcloud.json b/nextcloud/firewall-nextcloud.json new file mode 100644 index 0000000..861d0b7 --- /dev/null +++ b/nextcloud/firewall-nextcloud.json @@ -0,0 +1,62 @@ +{ + "main": { + "SERVICE_NAME": "firewalls", + "DOMAIN": "null" + }, + "containers": [ + { + "IMAGE": "registry.format.hu/firewall", + "NAME": "firewall", + "MEMORY": "64M", + "NETWORK": "host", + "SCALE": "0", + "VOLUMES": [ + { + "SOURCE": "/run/", + "DEST": "/run/", + "TYPE": "rw" + }, + { + "SOURCE": "/etc/user/config/services", + "DEST": "/services", + "TYPE": "ro" + }, + { + "SOURCE": "/etc/system/data/dns/hosts.local", + "DEST": "/etc/dns/hosts.local", + "TYPE": "ro" + }, + { + "SOURCE": "/var/run/docker.sock", + "DEST": "/var/run/docker.sock", + "TYPE": "rw" + }, + { + "SOURCE": "/usr/bin/docker", + "DEST": "/usr/bin/docker", + "TYPE": "ro" + } + ], + "PORTS": [ ], + "READYNESS": [ + {"tcp": ""}, + {"HTTP": ""}, + {"EXEC": "/ready.sh"} + ], + "ENVS": [ + { "CHAIN": "DOCKER-USER" }, + { "SOURCE": "smarthostbackend" }, + { "TARGET": "nextcloudnginx" }, + { "TYPE": "tcp" }, + { "TARGET_PORT": "80" }, + { "COMMENT": "nextcloud" } + ], + "EXTRA": "--privileged --rm", + "DEPEND": "null", + "START_ON_BOOT": "false", + "CMD": "null", + "PRE_START": "null", + "POST_START": "null" + } + ] +} diff --git a/nextcloud/nextcloud-secret.json b/nextcloud/nextcloud-secret.json new file mode 100644 index 0000000..7a54d77 --- /dev/null +++ b/nextcloud/nextcloud-secret.json @@ -0,0 +1,20 @@ +{ + "nextcloudmysql": { + "MYSQL_DATABASE": "DB_MYSQL", + "MYSQL_USER": "DB_USER", + "MYSQL_PASSWORD": "DB_PASSWORD", + "MYSQL_ROOT_PASSWORD": "DB_ROOT_PASSWORD" + }, + "nextcloudphp": { + "NEXTCLOUD_ADMIN_USER": "USERNAME", + "NEXTCLOUD_ADMIN_PASSWORD": "USER_PASSWORD", + "NEXTCLOUD_TRUSTED_DOMAINS": "DOMAIN_URL", + "OVERWRITEHOST": "DOMAIN_URL", + "NEXTCLOUD_DATA_DIR": "/var/data", + "MYSQL_DATABASE": "DB_MYSQL", + "MYSQL_USER": "DB_USER", + "MYSQL_PASSWORD": "DB_PASSWORD", + "MYSQL_HOST": "nextcloudmysql-db", + "REDIS_HOST": "nextcloud-redis" + } +} diff --git a/nextcloud/nextcloud.json b/nextcloud/nextcloud.json new file mode 100644 index 0000000..a9c8778 --- /dev/null +++ b/nextcloud/nextcloud.json @@ -0,0 +1,174 @@ +{ + "main": { + "SERVICE_NAME": "nextcloud", + "DOMAIN": "docs.galaxis.xyz" + }, + "containers": [ + { + "IMAGE": "registry.format.hu/alpine/mariadb", + "UPDATE": "true", + "NAME": "nextcloudmysql-db", + "MEMORY": "256M", + "NETWORK": "nextcloud-net", + "SELECTOR": "nextcloudmysql", + "VOLUMES": [ + { + "SOURCE": "/etc/user/data/nextcloud/db", + "DEST": "/var/lib/mysql", + "TYPE": "rw" + }, + { + "SOURCE": "/etc/system/log/nextcloud/db", + "DEST": "/var/lib/mysql/mysql-bin", + "TYPE": "rw" + } + ], + "PORTS": [ + { + "SOURCE": "null", + "DEST": "3306", + "TYPE": "tcp" + } + ], + "READYNESS": [ + {"tcp": "3306"}, + {"HTTP": ""}, + {"EXEC": "/ready.sh"} + ], + "ENV_FILES": [ "/etc/user/secret/nextcloud/nextcloud.json" ], + "EXTRA": "null", + "DEPEND": "null", + "START_ON_BOOT": "false", + "CMD": "null", + "PRE_START": "null", + "POST_START": "null" + }, + { + "IMAGE": "registry.galaxis.xyz/redis:latest", + "UPDATE": "true", + "NAME": "nextcloud-redis", + "MEMORY": "128M", + "NETWORK": "nextcloud-net", + "SELECTOR": "nextcloudredis", + "PORTS": [ + { + "SOURCE": "null", + "DEST": "6379", + "TYPE": "tcp" + } + ], + "READYNESS": [ + {"tcp": ""}, + {"HTTP": ""}, + {"EXEC": "/ready.sh"} + ], + "EXTRA": "null", + "DEPEND": "null", + "START_ON_BOOT": "false", + "CMD": "null", + "PRE_START": "null", + "POST_START": "null" + }, + { + "IMAGE": "registry.format.hu/nextcloud-php-fpm:26", + "UPDATE": "true", + "NAME": "nextcloudphp-fpm", + "MEMORY": "1024M", + "NETWORK": "nextcloud-net", + "SELECTOR": "nextcloudphp-fpm", + "DNS": [ "coredns" ], + "VOLUMES": [ + { + "SOURCE": "nextcloud", + "DEST": "/var/www/html", + "TYPE": "rw" + }, + { + "SOURCE": "/etc/user/data/nextcloud/config", + "DEST": "/var/www/html/config", + "TYPE": "rw" + }, + { + "SOURCE": "/etc/user/data/nextcloud/apps", + "DEST": "/var/www/html/custom_apps", + "TYPE": "rw" + }, + { + "SOURCE": "/etc/user/data/nextcloud/data", + "DEST": "/var/data", + "TYPE": "rw" + } + ], + "PORTS": [ + { + "SOURCE": "null", + "DEST": "9000", + "TYPE": "tcp" + } + ], + "READYNESS": [ + {"tcp": ""}, + {"HTTP": ""}, + {"EXEC": "/ready.sh"} + ], + "ENV_FILES": [ "/etc/user/secret/nextcloud/nextcloud.json" ], + "EXTRA": "--user www-data", + "DEPEND": "null", + "START_ON_BOOT": "false", + "CMD": "null", + "PRE_START": [ "firewall-nextcloud-server-dns" ], + "POST_START": [ + "firewall-nextcloud-collabora", + "firewall-nextcloud-server-smtp" + ] + }, + { + "IMAGE": "registry.format.hu/nextcloud-nginx:1.23.1", + "UPDATE": "true", + "NAME": "nextcloudnginx", + "ROLES": "backend-www", + "MEMORY": "128M", + "NETWORK": "nextcloud-net", + "SELECTOR": "nextcloudnginx", + "DNS": [ "coredns" ], + "VOLUMES": [ + { + "SOURCE": "nextcloud", + "DEST": "/var/www/html", + "TYPE": "ro" + }, + { + "SOURCE": "/etc/user/data/nextcloud/config", + "DEST": "/var/www/html/config", + "TYPE": "rw" + }, + { + "SOURCE": "/etc/user/data/nextcloud/apps", + "DEST": "/var/www/html/custom_apps", + "TYPE": "rw" + } + ], + "PORTS": [ + { + "SOURCE": "null", + "DEST": "80", + "TYPE": "tcp" + } + ], + "READYNESS": [ + {"tcp": ""}, + {"HTTP": ""}, + {"EXEC": "/ready.sh"} + ], + "EXTRA": "null", + "DEPEND": "null", + "START_ON_BOOT": "false", + "CMD": "null", + "PRE_START": [ "firewall-nextcloud-dns" ], + "POST_START": [ + "firewall-nextcloud", + "domain-nextcloud" + ] + } + ] +}