diff --git a/applications-tree.json b/applications-tree.json index 117a62f..922b6ee 100644 --- a/applications-tree.json +++ b/applications-tree.json @@ -10,19 +10,11 @@ }, { "name": "guacamole", - "version": "15.0" + "version": "latest" }, { - "name": "bitwarden", - "version": "x.?" - }, - { - "name": "roundcube", - "version": "x.?" - }, - { - "name": "smtp_server", - "version": "x.?" + "name": "waultwarden", + "version": "latest" } ] } \ No newline at end of file diff --git a/bitwarden/template.json b/bitwarden/template.json deleted file mode 100644 index df3f207..0000000 --- a/bitwarden/template.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "name": "bitwarden", - "fields": [ - { - "description": "Please add Bitwarden domain:", - "key": "BITWARDEN_DOMAIN", - "value": "", - "required": "true" - }, - { - "description": "Please choose an SMTP server:", - "key": "BITWARDEN_SMTP", - "value": "1:gmail,2:microsoft outlook/hotmail,3:other", - "required": "true", - "type": "select" - }, - { - "description": "Please add SMTP HOST:", - "key": "BITWARDEN_SMTP_HOST", - "value": "", - "required": "true" - }, - { - "description": "Please add SMTP PORT (587, 465, 25, etc.):", - "key": "BITWARDEN_SMTP_PORT", - "value": "25", - "required": "true" - }, - { - "description": "Please add SMTP SECURITY (starttls, force_tls, off, etc.):", - "key": "BITWARDEN_SMTP_SECURITY", - "value": "starttls", - "required": "true" - }, - { - "description": "Please add SMTP FROM (mail address from):", - "key": "BITWARDEN_SMTP_FROM", - "value": "", - "required": "true" - }, - { - "description": "Please add SMTP USERNAME:", - "key": "BITWARDEN_SMTP_USERNAME", - "value": "", - "required": "true" - }, - { - "description": "Please add SMTP PASSWORD:", - "key": "BITWARDEN_SMTP_PASSWORD", - "value": "", - "required": "true", - "type": "password" - }, - { - "description": "Please add Domains Whitelist (list of domains):", - "key": "BITWARDEN_DOMAINS_WHITELIST", - "value": "", - "required": "true" - } - ] -} diff --git a/guacamole/domain-guacamole.json b/guacamole/domain-guacamole.json new file mode 100644 index 0000000..0ab3ed2 --- /dev/null +++ b/guacamole/domain-guacamole.json @@ -0,0 +1,60 @@ +{ + "main": { + "SERVICE_NAME": "homeassistant", + "DOMAIN": "#HOMEASSISTANT_DOMAIN" + }, + "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": "homeassistant" + }, + { + "PORT": "8123" + }, + { + "DOMAIN": "#HOMEASSISTANT_DOMAIN" + }, + { + "SMARTHOST_PROXY_PATH": "/smarthost-domains" + }, + { + "OPERATION": "CREATE" + } + ], + "VOLUMES": [ + { + "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" + } + ] + } + ] +} \ No newline at end of file diff --git a/guacamole/firewall-guacamole.json b/guacamole/firewall-guacamole.json new file mode 100644 index 0000000..938023b --- /dev/null +++ b/guacamole/firewall-guacamole.json @@ -0,0 +1,75 @@ +{ + "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" + } + ], + "PORTS": [], + "READYNESS": [ + { + "tcp": "" + }, + { + "HTTP": "" + }, + { + "EXEC": "/ready.sh" + } + ], + "ENVS": [ + { + "CHAIN": "DOCKER-USER" + }, + { + "SOURCE": "smarthostbackend" + }, + { + "TARGET": "homeassistant" + }, + { + "TYPE": "tcp" + }, + { + "TARGET_PORT": "8123" + }, + { + "COMMENT": "proxy for homeassistant" + } + ], + "EXTRA": "--privileged --rm", + "DEPEND": "null", + "START_ON_BOOT": "false", + "CMD": "null", + "PRE_START": "null", + "POST_START": "null" + } + ] +} \ No newline at end of file diff --git a/guacamole/service-guacamole.json b/guacamole/service-guacamole.json new file mode 100644 index 0000000..516304f --- /dev/null +++ b/guacamole/service-guacamole.json @@ -0,0 +1,64 @@ +{ + "main": { + "SERVICE_NAME": "homeassistant", + "DOMAIN": "DOMAIN" + }, + "containers": [ + { + "IMAGE": "alpine:latest", + "UPDATE": "true", + "NAME": "homeassistant-init", + "NETWORK": "host", + "MEMORY": "64M", + "VOLUMES": [ + { + "SOURCE": "USER_DATA", + "DEST": "/etc/user/data", + "TYPE": "rw" + } + ], + "EXTRA": "--rm", + "DEPEND": "null", + "START_ON_BOOT": "false", + "ENTRYPOINT": "sh -c", + "CMD": "mkdir -p /etc/user/data/homeassistant/config", + "PRE_START": "null", + "POST_START": "null" + }, + { + "IMAGE": "ghcr.io/home-assistant/home-assistant:stable", + "UPDATE": "true", + "NAME": "homeassistant", + "NETWORK": "host", + "VOLUMES": [ + { + "SOURCE": "/etc/user/data/homeassistant/config", + "DEST": "/config", + "TYPE": "rw" + } + ], + "PORTS": [ + { + "SOURCE": "8123", + "DEST": "8123", + "TYPE": "tcp" + } + ], + "ENVS": [ + { + "NAME": "TZ", + "VALUE": "HOMEASSISTANT_TZ" + } + ], + "EXTRA": "--restart unless-stopped", + "DEPEND": [], + "START_ON_BOOT": "false", + "CMD": "null", + "PRE_START": "null", + "POST_START": [ + "firewall-homeassistant", + "domain-homeassistant" + ] + } + ] +} \ No newline at end of file diff --git a/vaultwarden/domain-vaultwarden.json b/vaultwarden/domain-vaultwarden.json new file mode 100644 index 0000000..558d9ba --- /dev/null +++ b/vaultwarden/domain-vaultwarden.json @@ -0,0 +1,60 @@ +{ + "main": { + "SERVICE_NAME": "vaultwarden", + "DOMAIN": "#VAULTWARDEN_DOMAIN" + }, + "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": "vaultwarden" + }, + { + "PORT": "80" + }, + { + "DOMAIN": "#VAULTWARDEN_DOMAIN" + }, + { + "SMARTHOST_PROXY_PATH": "/smarthost-domains" + }, + { + "OPERATION": "CREATE" + } + ], + "VOLUMES": [ + { + "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" + } + ] + } + ] +} \ No newline at end of file diff --git a/vaultwarden/firewall-vaultwarden.json b/vaultwarden/firewall-vaultwarden.json new file mode 100644 index 0000000..5ba81c4 --- /dev/null +++ b/vaultwarden/firewall-vaultwarden.json @@ -0,0 +1,75 @@ +{ + "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" + } + ], + "PORTS": [], + "READYNESS": [ + { + "tcp": "" + }, + { + "HTTP": "" + }, + { + "EXEC": "/ready.sh" + } + ], + "ENVS": [ + { + "CHAIN": "DOCKER-USER" + }, + { + "SOURCE": "smarthostbackend" + }, + { + "TARGET": "vaultwarden" + }, + { + "TYPE": "tcp" + }, + { + "TARGET_PORT": "80" + }, + { + "COMMENT": "proxy for vaultwarden" + } + ], + "EXTRA": "--privileged --rm", + "DEPEND": "null", + "START_ON_BOOT": "false", + "CMD": "null", + "PRE_START": "null", + "POST_START": "null" + } + ] +} \ No newline at end of file diff --git a/vaultwarden/service-vaultwarden.json b/vaultwarden/service-vaultwarden.json new file mode 100644 index 0000000..a320b19 --- /dev/null +++ b/vaultwarden/service-vaultwarden.json @@ -0,0 +1,132 @@ +{ + "main": { + "SERVICE_NAME": "homeassistant", + "DOMAIN": "DOMAIN" + }, + "containers": [ + { + "IMAGE": "alpine:latest", + "UPDATE": "true", + "NAME": "homeassistant-init", + "NETWORK": "host", + "MEMORY": "64M", + "VOLUMES": [ + { + "SOURCE": "USER_DATA", + "DEST": "/etc/user/data", + "TYPE": "rw" + } + ], + "EXTRA": "--rm", + "DEPEND": "null", + "START_ON_BOOT": "false", + "ENTRYPOINT": "sh -c", + "CMD": "mkdir -p /etc/user/data/vaultwarden/data && mkdir -p /etc/user/data/vaultwarden/db && mkdir -p /etc/system/log/vaultwarden/db", + "PRE_START": "null", + "POST_START": "null" + }, + { + "IMAGE": "mariadb:latest", + "UPDATE": "true", + "NAME": "vaultwardenmysql-db", + "MEMORY": "256M", + "NETWORK": "vaultwarden-net", + "SELECTOR": "nextcloudmysql-db", + "VOLUMES": [ + { + "SOURCE": "/etc/user/data/vaultwarden/db", + "DEST": "/var/lib/mysql", + "TYPE": "rw" + }, + { + "SOURCE": "/etc/system/log/vaultwarden/db", + "DEST": "/var/lib/mysql/mysql-bin", + "TYPE": "rw" + } + ], + "PORTS": [ + { + "SOURCE": "null", + "DEST": "3306", + "TYPE": "tcp" + } + ], + "ENV_FILES": [ + "/etc/user/secret/nextcloud/nextcloud.json" + ], + "EXTRA": "--restart unless-stopped", + "DEPEND": "null", + "START_ON_BOOT": "false", + "CMD": "null", + "PRE_START": "null", + "POST_START": "null" + }, + { + "IMAGE": "vaultwarden/server", + "UPDATE": "true", + "NAME": "vaultwardenapp", + "NETWORK": "vaultwarden-net", + "SELECTOR": "vaultwardenapp", + "VOLUMES": [ + { + "SOURCE": "/etc/user/data/vaultwarden/data", + "DEST": "/data", + "TYPE": "rw" + } + ], + "PORTS": [ + { + "SOURCE": "null", + "DEST": "80", + "TYPE": "tcp" + } + ], + "ENVS": [ + { + "ENABLE_DB_WAL": "false" + }, + { + "SIGNUPS_ALLOWED": "false" + }, + { + "RUST_BACKTRACE": "1" + }, + { + "SIGNUPS_DOMAINS_WHITELIST": "#VAULTWARDEN_WHITELIST" + }, + { + "SIGNUPS_VERIFY": "true" + }, + { + "VAULTWARDEN_SMTP": "#VAULTWARDEN_SMTP" + }, + { + "VAULTWARDEN_SMTP_HOST": "#VAULTWARDEN_SMTP_HOST" + }, + { + "VAULTWARDEN_SMTP_PORT": "#VAULTWARDEN_SMTP_PORT" + }, + { + "VAULTWARDEN_SMTP_SECURITY": "#VAULTWARDEN_SMTP_SECURITY" + }, + { + "VAULTWARDEN_SMTP_FROM": "#VAULTWARDEN_SMTP_FROM" + }, + { + "VAULTWARDEN_SMTP_USERNAME": "#VAULTWARDEN_SMTP_USERNAME" + } + ], + "EXTRA": "--restart unless-stopped", + "DEPEND": [], + "START_ON_BOOT": "false", + "CMD": "null", + "PRE_START": "null", + "POST_START": [ + "firewall-vaultwarden", + "domain-vaultwarden", + "dns-vaultwarden", + "smtp-vaultwarden" + ] + } + ] +} \ No newline at end of file diff --git a/vaultwarden/template.json b/vaultwarden/template.json new file mode 100644 index 0000000..a5734e8 --- /dev/null +++ b/vaultwarden/template.json @@ -0,0 +1,85 @@ +{ + "name": "bitwarden", + "fields": [ + { + "description": "MYSQL database name", + "key": "DB_MYSQL", + "value": "", + "required": "true", + "generated": "" + }, + { + "description": "MYSQL username", + "key": "DB_USER", + "value": "", + "required": "true", + "generated": "time|md5|8" + }, + { + "description": "MYSQL password for user", + "key": "DB_PASSWORD", + "value": "", + "required": "true", + "generated": "random|md5|12" + }, + { + "description": "MYSQL root user password", + "key": "DB_ROOT_PASSWORD", + "value": "", + "required": "true", + "generated": "random|sha256|20" + } + { + "description": "Please add VaultWarden domain:", + "key": "VAULTWARDEN_DOMAIN", + "value": "", + "required": "true" + }, + { + "description": "Please choose an SMTP server:", + "key": "VAULTWARDEN_SMTP", + "value": "1:gmail,2:microsoft outlook/hotmail,3:other", + "required": "true", + "type": "select" + }, + { + "description": "Please add SMTP HOST:", + "key": "VAULTWARDEN_SMTP_HOST", + "value": "", + "required": "true" + }, + { + "description": "Please add SMTP PORT (587, 465, 25, etc.):", + "key": "VAULTWARDEN_SMTP_PORT", + "value": "25", + "required": "true" + }, + { + "description": "Please add SMTP SECURITY (starttls, force_tls, off, etc. you can leave it empty also):", + "key": "VAULTWARDEN_SMTP_SECURITY", + "value": "" + }, + { + "description": "Please add SMTP FROM (mail address from):", + "key": "VAULTWARDEN_SMTP_FROM", + "value": "", + "required": "true" + }, + { + "description": "Please add SMTP USERNAME:", + "key": "VAULTWARDEN_SMTP_USERNAME", + "value": "" + }, + { + "description": "Please add SMTP PASSWORD (you can leave it empty also):", + "key": "VAULTWARDEN_SMTP_PASSWORD", + "value": "" + }, + { + "description": "Please add Domains Whitelist (list of domains separated with spaces):", + "key": "VAULTWARDEN_WHITELIST", + "value": "", + "required": "true" + } + ] +} \ No newline at end of file diff --git a/vaultwarden/vaultwarden-secret.json b/vaultwarden/vaultwarden-secret.json new file mode 100644 index 0000000..17089c3 --- /dev/null +++ b/vaultwarden/vaultwarden-secret.json @@ -0,0 +1,13 @@ +{ + "vaultwardenmysql": { + "MARIADB_DATABASE": "#DB_MYSQL", + "MARIADB_USER": "#DB_USER", + "MARIADB_PASSWORD": "#DB_PASSWORD", + "MARIADB_ROOT_PASSWORD": "#DB_ROOT_PASSWORD" + }, + "vaultwardenapp": { + "DATABASE_URL": "'mysql://#DB_USER:#DB_PASSWORD@vaultwardenmysql-db:3306/#DB_MYSQL'", + "ADMIN_TOKEN": "#VAULTWARDEN_ADMIN_TOKEN", + "VAULTWARDEN_SMTP_PASSWORD": "#VAULTWARDEN_SMTP_PASSWORD" + } +} \ No newline at end of file