Add filebrowser and guacamole configuration files with required fields and updated service settings
This commit is contained in:
60
filebrowser/domain-filebrowser.json
Normal file
60
filebrowser/domain-filebrowser.json
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"SERVICE_NAME": "filebrowser",
|
||||||
|
"DOMAIN": "#FILEBROWSER_DOMAIN"
|
||||||
|
},
|
||||||
|
"containers": [
|
||||||
|
{
|
||||||
|
"IMAGE": "safebox/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": "filebrowser"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PORT": "9091"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DOMAIN": "#FILEBROWSER_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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
6
filebrowser/filebrowser-secret.json
Normal file
6
filebrowser/filebrowser-secret.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"filebrowser": {
|
||||||
|
"USER": "#FILEBROWSER_USER",
|
||||||
|
"PASS": "#FILEBROWSER_PASS"
|
||||||
|
}
|
||||||
|
}
|
75
filebrowser/firewall-filebrowser.json
Normal file
75
filebrowser/firewall-filebrowser.json
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"SERVICE_NAME": "firewalls",
|
||||||
|
"DOMAIN": "null"
|
||||||
|
},
|
||||||
|
"containers": [
|
||||||
|
{
|
||||||
|
"IMAGE": "safebox/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": "filebrowser"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TYPE": "tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TARGET_PORT": "80"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"COMMENT": "proxy for filebrowser"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EXTRA": "--privileged --rm",
|
||||||
|
"DEPEND": "null",
|
||||||
|
"START_ON_BOOT": "false",
|
||||||
|
"CMD": "null",
|
||||||
|
"PRE_START": "null",
|
||||||
|
"POST_START": "null"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
75
filebrowser/service-filebrowser.json
Normal file
75
filebrowser/service-filebrowser.json
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"SERVICE_NAME": "filebrowser",
|
||||||
|
"DOMAIN": "#TRANSMISSION_DOMAIN"
|
||||||
|
},
|
||||||
|
"containers": [
|
||||||
|
{
|
||||||
|
"IMAGE": "alpine:latest",
|
||||||
|
"UPDATE": "true",
|
||||||
|
"NAME": "filebrowser-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/filebrowser && mkdir -p /etc/user/data/transmission/downloads/complete",
|
||||||
|
"PRE_START": "null",
|
||||||
|
"POST_START": "null"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"IMAGE": "filebrowser/filebrowser:latest",
|
||||||
|
"UPDATE": "true",
|
||||||
|
"NAME": "filebrowser",
|
||||||
|
"SELECTOR": "filebrowser",
|
||||||
|
"VOLUMES": [
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/user/data/filebrowser",
|
||||||
|
"DEST": "/srv",
|
||||||
|
"TYPE": "rw"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/user/data/transmission/downloads",
|
||||||
|
"DEST": "/srv/transmission",
|
||||||
|
"TYPE": "rw"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"PORTS": [
|
||||||
|
{
|
||||||
|
"SOURCE": "null",
|
||||||
|
"DEST": "80",
|
||||||
|
"TYPE": "tcp"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ENVS": [
|
||||||
|
{
|
||||||
|
"PUID": "1000"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PGID": "1000"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ENV_FILES": [
|
||||||
|
"/etc/user/secret/filebrowser/filebrowser.json"
|
||||||
|
],
|
||||||
|
"EXTRA": "--restart unless-stopped",
|
||||||
|
"DEPEND": [],
|
||||||
|
"START_ON_BOOT": "false",
|
||||||
|
"ENTRYPOINT": "sh",
|
||||||
|
"CMD": "-c '/filebrowser config init && /filebrowser users add \"$FILEBROWSER_USER\" \"$FILEBROWSER_PASS\" --perm.admin && /filebrowser'",
|
||||||
|
"PRE_START": "null",
|
||||||
|
"POST_START": [
|
||||||
|
"firewall-filebrowser",
|
||||||
|
"domain-filebrowser"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
22
filebrowser/template.json
Normal file
22
filebrowser/template.json
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"name": "filebrowser",
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"description": "Please add your filebrowser domain:",
|
||||||
|
"key": "FILEBROWSER_DOMAIN",
|
||||||
|
"value": "",
|
||||||
|
"required": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Please add a username:",
|
||||||
|
"key": "FILEBROWSER_USER",
|
||||||
|
"value": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Please add a password for user:",
|
||||||
|
"key": "FILEBROWSER_PASS",
|
||||||
|
"value": "",
|
||||||
|
"type": "password"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"main": {
|
"main": {
|
||||||
"SERVICE_NAME": "homeassistant",
|
"SERVICE_NAME": "guacamole",
|
||||||
"DOMAIN": "#HOMEASSISTANT_DOMAIN"
|
"DOMAIN": "#GUACAMOLE_DOMAIN"
|
||||||
},
|
},
|
||||||
"containers": [
|
"containers": [
|
||||||
{
|
{
|
||||||
@@ -26,10 +26,10 @@
|
|||||||
"TARGET": "homeassistant"
|
"TARGET": "homeassistant"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"PORT": "8123"
|
"PORT": "80"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"DOMAIN": "#HOMEASSISTANT_DOMAIN"
|
"DOMAIN": "#GUACAMOLE_DOMAIN"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"SMARTHOST_PROXY_PATH": "/smarthost-domains"
|
"SMARTHOST_PROXY_PATH": "/smarthost-domains"
|
||||||
|
@@ -52,16 +52,16 @@
|
|||||||
"SOURCE": "smarthostbackend"
|
"SOURCE": "smarthostbackend"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"TARGET": "homeassistant"
|
"TARGET": "guacamole"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"TYPE": "tcp"
|
"TYPE": "tcp"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"TARGET_PORT": "8123"
|
"TARGET_PORT": "80"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"COMMENT": "proxy for homeassistant"
|
"COMMENT": "proxy for guacamole"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"EXTRA": "--privileged --rm",
|
"EXTRA": "--privileged --rm",
|
||||||
|
19
guacamole/guacamole.secret.json
Normal file
19
guacamole/guacamole.secret.json
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"guacamolemysql": {
|
||||||
|
"MYSQL_DATABASE": "DB_MYSQL",
|
||||||
|
"MYSQL_USER": "DB_USER",
|
||||||
|
"MYSQL_PASSWORD": "DB_PASSWORD",
|
||||||
|
"MYSQL_ROOT_PASSWORD": "DB_ROOT_PASSWORD"
|
||||||
|
},
|
||||||
|
"guacamoletomcat": {
|
||||||
|
"ADMIN_NAME": "GUACAMOLE_ADMIN_NAME",
|
||||||
|
"ADMIN_PASSWORD": "GUACAMOLE_ADMIN_PASSWORD",
|
||||||
|
"MYSQL_DATABASE": "DB_MYSQL",
|
||||||
|
"MYSQL_USER": "DB_USER",
|
||||||
|
"MYSQL_PASSWORD": "DB_PASSWORD",
|
||||||
|
"MYSQL_HOSTNAME": "guacamolemysql-db",
|
||||||
|
"GUACD_HOSTNAME": "guacd-app",
|
||||||
|
"TOTP_ENABLED": "TOTP_USE",
|
||||||
|
"BAN_ADDRESS_DURATION": "BAN_DURATION"
|
||||||
|
}
|
||||||
|
}
|
@@ -1,63 +1,125 @@
|
|||||||
{
|
{
|
||||||
"main": {
|
"main": {
|
||||||
"SERVICE_NAME": "homeassistant",
|
"SERVICE_NAME": "guacamole",
|
||||||
"DOMAIN": "DOMAIN"
|
"DOMAIN": "DOMAIN"
|
||||||
},
|
},
|
||||||
"containers": [
|
"containers": [
|
||||||
{
|
{
|
||||||
"IMAGE": "alpine:latest",
|
"IMAGE": "mariadb:latest",
|
||||||
"UPDATE": "true",
|
"UPDATE": "true",
|
||||||
"NAME": "homeassistant-init",
|
"NAME": "guacamolemysql-db",
|
||||||
"NETWORK": "host",
|
"MEMORY": "256M",
|
||||||
"MEMORY": "64M",
|
"NETWORK": "guacamole-net",
|
||||||
|
"SELECTOR": "guacamolemysql",
|
||||||
"VOLUMES": [
|
"VOLUMES": [
|
||||||
{
|
{
|
||||||
"SOURCE": "USER_DATA",
|
"SOURCE": "/etc/user/data/guacamole/db",
|
||||||
"DEST": "/etc/user/data",
|
"DEST": "/var/lib/mysql",
|
||||||
"TYPE": "rw"
|
"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",
|
"SOURCE": "/etc/system/log/guacamole/db",
|
||||||
"UPDATE": "true",
|
"DEST": "/var/lib/mysql/mysql-bin",
|
||||||
"NAME": "homeassistant",
|
|
||||||
"NETWORK": "host",
|
|
||||||
"VOLUMES": [
|
|
||||||
{
|
|
||||||
"SOURCE": "/etc/user/data/homeassistant/config",
|
|
||||||
"DEST": "/config",
|
|
||||||
"TYPE": "rw"
|
"TYPE": "rw"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"PORTS": [
|
"PORTS": [
|
||||||
{
|
{
|
||||||
"SOURCE": "8123",
|
"SOURCE": "null",
|
||||||
"DEST": "8123",
|
"DEST": "3306",
|
||||||
"TYPE": "tcp"
|
"TYPE": "tcp"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"ENVS": [
|
"READYNESS": [
|
||||||
{
|
{
|
||||||
"NAME": "TZ",
|
"tcp": "3306"
|
||||||
"VALUE": "HOMEASSISTANT_TZ"
|
},
|
||||||
|
{
|
||||||
|
"HTTP": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"EXEC": "/ready.sh"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"EXTRA": "--restart unless-stopped",
|
"ENV_FILES": [
|
||||||
"DEPEND": [],
|
"/etc/user/secret/guacamole/guacamole.json"
|
||||||
|
],
|
||||||
|
"EXTRA": "--restart always",
|
||||||
|
"DEPEND": "null",
|
||||||
"START_ON_BOOT": "false",
|
"START_ON_BOOT": "false",
|
||||||
"CMD": "null",
|
"CMD": "null",
|
||||||
"PRE_START": "null",
|
"PRE_START": "null",
|
||||||
|
"POST_START": "null"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"IMAGE": "registry.format.hu/guacamole-guacd",
|
||||||
|
"UPDATE": "true",
|
||||||
|
"NAME": "guacd-app",
|
||||||
|
"MEMORY": "256M",
|
||||||
|
"NETWORK": "guacamole-net",
|
||||||
|
"SELECTOR": "guacdapp",
|
||||||
|
"PORTS": [
|
||||||
|
{
|
||||||
|
"SOURCE": "null",
|
||||||
|
"DEST": "4822",
|
||||||
|
"TYPE": "tcp"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"READYNESS": [
|
||||||
|
{
|
||||||
|
"tcp": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"HTTP": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"EXEC": "/ready.sh"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EXTRA": "",
|
||||||
|
"DEPEND": "null",
|
||||||
|
"START_ON_BOOT": "true",
|
||||||
|
"CMD": "null",
|
||||||
|
"PRE_START": "null",
|
||||||
|
"POST_START": "null"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"IMAGE": "safebox/guacamole-tomcat",
|
||||||
|
"UPDATE": "true",
|
||||||
|
"NAME": "guacamoletomcat",
|
||||||
|
"ROLES": "backend-www",
|
||||||
|
"MEMORY": "256M",
|
||||||
|
"NETWORK": "guacamole-net",
|
||||||
|
"SELECTOR": "guacamoletomcat",
|
||||||
|
"PORTS": [
|
||||||
|
{
|
||||||
|
"SOURCE": "null",
|
||||||
|
"DEST": "8080",
|
||||||
|
"TYPE": "tcp"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"READYNESS": [
|
||||||
|
{
|
||||||
|
"tcp": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"HTTP": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"EXEC": "/ready.sh"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EXTRA": "null",
|
||||||
|
"ENV_FILES": [
|
||||||
|
"/etc/user/secret/guacamole/guacamole.json"
|
||||||
|
],
|
||||||
|
"DEPEND": "null",
|
||||||
|
"START_ON_BOOT": "true",
|
||||||
|
"CMD": "null",
|
||||||
|
"PRE_START": "null",
|
||||||
"POST_START": [
|
"POST_START": [
|
||||||
"firewall-homeassistant",
|
"firewall-guacamole",
|
||||||
"domain-homeassistant"
|
"domain-guacamole"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@@ -30,8 +30,35 @@
|
|||||||
{
|
{
|
||||||
"description": "Do you want limitation in case invalid login or password? Please add a number how many minutes for deny retry. If you add 0 means it will disabled.",
|
"description": "Do you want limitation in case invalid login or password? Please add a number how many minutes for deny retry. If you add 0 means it will disabled.",
|
||||||
"key": "GUACAMOLE_BAN_DURATION",
|
"key": "GUACAMOLE_BAN_DURATION",
|
||||||
"value": "5",
|
"value": "5"
|
||||||
"required": "true"
|
},
|
||||||
|
{
|
||||||
|
"description": "MYSQL database name",
|
||||||
|
"key": "MYSQL_DATABASE",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "MYSQL username",
|
||||||
|
"key": "MYSQL_USER",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": "time|md5|8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "MYSQL password for user",
|
||||||
|
"key": "MYSQL_PASSWORD",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": "random|md5|12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "MYSQL root user password",
|
||||||
|
"key": "MYSQL_ROOT_PASSWORD",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": "random|sha256|20"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
Reference in New Issue
Block a user