21 Commits

Author SHA1 Message Date
9107ce3af6 revert 7101cc4b75
revert Merge pull request 'updated openwebui logo' (#78) from dev into main

Reviewed-on: #78
2026-06-11 10:29:54 +00:00
7101cc4b75 Merge pull request 'updated openwebui logo' (#78) from dev into main
Reviewed-on: #78
2026-06-11 10:26:09 +00:00
gyurix
7978eb7e94 updated openwebui logo 2026-06-11 12:25:49 +02:00
fc645c9f5d Merge pull request 'replaced openwebui logo' (#77) from dev into main
Reviewed-on: #77
2026-06-11 10:21:39 +00:00
gyurix
191b0ddf90 replaced openwebui logo 2026-06-11 12:21:10 +02:00
0eaccc6edb Merge pull request 'updated openwebui logo' (#76) from dev into main
Reviewed-on: #76
2026-06-11 10:16:27 +00:00
gyurix
d51031b453 updated openwebui logo 2026-06-11 12:15:00 +02:00
5eee9625eb Merge pull request 'added openwebui application' (#75) from dev into main
Reviewed-on: #75
2026-06-11 10:09:19 +00:00
gyurix
5879ea246e added openwebui application 2026-06-11 12:07:35 +02:00
6770728911 Merge pull request 'corrected database credentials naming' (#74) from dev into main
Reviewed-on: #74
2026-05-16 16:05:26 +00:00
gyurix
958e39ddb0 corrected database credentials naming 2026-05-16 18:04:19 +02:00
dce1bd1b45 Merge pull request 'corrected quackback settings applied' (#73) from dev into main
Reviewed-on: #73
2026-05-16 09:35:57 +00:00
gyurix
4ecde2fb68 corrected quackback settings applied 2026-05-16 11:33:56 +02:00
ea77759ddf Merge pull request 'added custom quacback image version' (#72) from dev into main
Reviewed-on: #72
2026-05-13 16:02:08 +00:00
gyurix
78db1d6109 added custom quacback image version 2026-05-13 18:00:29 +02:00
31ec44dfa1 Merge pull request 'Update volume destination for quackbackpostgres-db and increase memory limit for quackbackredis-server' (#71) from dev into main
Reviewed-on: #71
2026-04-02 13:00:42 +00:00
gyurix
429a66b505 Update volume destination for quackbackpostgres-db and increase memory limit for quackbackredis-server 2026-04-02 14:58:06 +02:00
d6c0a39820 Merge pull request 'Add POSTGRES_ROOT_PASSWORD to quackbackpostgres and increase memory limits for quackbackredis-server and quackbackapp' (#70) from dev into main
Reviewed-on: #70
2026-04-02 12:42:33 +00:00
gyurix
dad21b5eab Add POSTGRES_ROOT_PASSWORD to quackbackpostgres and increase memory limits for quackbackredis-server and quackbackapp 2026-04-02 14:41:32 +02:00
b5ea0820cf Merge pull request 'Update image reference for quackbackpostgres-db to use safebox repository' (#69) from dev into main
Reviewed-on: #69
2026-04-02 12:32:01 +00:00
gyurix
d69d756a51 Update image reference for quackbackpostgres-db to use safebox repository 2026-04-02 14:31:02 +02:00
15 changed files with 601 additions and 36 deletions
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -1,6 +1,6 @@
{
"jellyfin": {
"USER": "#JELLYFIN_USER",
"PASS": "#JELLYFIN_PASS"
"USER": "#USER",
"PASS": "#PASS"
}
}
+7 -7
View File
@@ -1,15 +1,15 @@
{
"leantimemysql": {
"MARIADB_DATABASE": "#DB_MYSQL",
"MARIADB_USER": "#DB_USER",
"MARIADB_PASSWORD": "#DB_PASSWORD",
"MARIADB_ROOT_PASSWORD": "#DB_ROOT_PASSWORD"
"MARIADB_DATABASE": "#MARIADB_DATABASE",
"MARIADB_USER": "#MARIADB_USER",
"MARIADB_PASSWORD": "#MARIADB_PASSWORD",
"MARIADB_ROOT_PASSWORD": "#MARIADB_ROOT_PASSWORD"
},
"leantimeapp": {
"LEAN_DB_USER": "#DB_USER",
"LEAN_DB_PASSWORD": "#DB_PASSWORD",
"LEAN_DB_USER": "#MARIADB_USER",
"LEAN_DB_PASSWORD": "#MARIADB_PASSWORD",
"LEAN_DB_HOST": "leantimemysql-db",
"LEAN_DB_DATABASE": "#DB_MYSQL",
"LEAN_DB_DATABASE": "#MARIADB_DATABASE",
"LEAN_OIDC_CLIENT_SECRET": "#OIDC_CLIENT_SECRET",
"LEAN_S3_SECRET": "#S3_SECRET",
"LEAN_SESSION_PASSWORD": "#SESSION_PASSWORD"
+4 -4
View File
@@ -35,28 +35,28 @@
},
{
"description": "MYSQL database name",
"key": "DB_MYSQL",
"key": "MARIADB_DATABASE",
"value": "",
"required": "true",
"generated": "time|md5|10"
},
{
"description": "MYSQL username",
"key": "DB_USER",
"key": "MARIADB_USER",
"value": "",
"required": "true",
"generated": "time|md5|8"
},
{
"description": "MYSQL password for user",
"key": "DB_PASSWORD",
"key": "MARIADB_PASSWORD",
"value": "",
"required": "true",
"generated": "random|md5|12"
},
{
"description": "MYSQL root user password",
"key": "DB_ROOT_PASSWORD",
"key": "MARIADB_ROOT_PASSWORD",
"value": "",
"required": "true",
"generated": "random|sha256|20"
+60
View File
@@ -0,0 +1,60 @@
{
"main": {
"SERVICE_NAME": "openwebui",
"DOMAIN": "#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": "openwebui-app"
},
{
"PORT": "8080"
},
{
"DOMAIN": "#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"
}
]
}
]
}
+75
View 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": "coredns"
},
{
"TARGET": "openwebui-app"
},
{
"TYPE": "udp"
},
{
"TARGET_PORT": "53"
},
{
"COMMENT": "dns for openwebui"
}
],
"EXTRA": "--privileged --rm",
"DEPEND": "null",
"START_ON_BOOT": "false",
"CMD": "null",
"PRE_START": "null",
"POST_START": "null"
}
]
}
+75
View 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": "openwebui-app"
},
{
"TYPE": "tcp"
},
{
"TARGET_PORT": "8080"
},
{
"COMMENT": "proxy for openwebui"
}
],
"EXTRA": "--privileged --rm",
"DEPEND": "null",
"START_ON_BOOT": "false",
"CMD": "null",
"PRE_START": "null",
"POST_START": "null"
}
]
}
+16
View File
@@ -0,0 +1,16 @@
{
"openwebuipostgres": {
"POSTGRES_DB": "#POSTGRES_DB",
"POSTGRES_USER": "#POSTGRES_USER",
"POSTGRES_PASSWORD": "#POSTGRES_PASSWORD",
"POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD"
},
"openwebuiapp": {
"WEBUI_ADMIN_NAME": "#WEBUI_ADMIN_NAME",
"WEBUI_ADMIN_PASSWORD": "#WEBUI_ADMIN_PASSWORD",
"WEBUI_ADMIN_EMAIL": "#WEBUI_ADMIN_EMAIL",
"WEBUI_SECRET_KEY": "#WEBUI_SECRET_KEY",
"OPENAI_API_KEY": "#OPENAI_API_KEY",
"DATABASE_URL": "postgres://#POSTGRES_USER:#POSTGRES_PASSWORD@openwebuipostgres-db:5432/#POSTGRES_DB"
}
}
+208
View File
@@ -0,0 +1,208 @@
{
"main": {
"SERVICE_NAME": "openwebui",
"DOMAIN": "#DOMAIN"
},
"containers": [
{
"IMAGE": "alpine:latest",
"UPDATE": "true",
"NAME": "openwebui-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/openwebui/data && mkdir -p /etc/user/data/openwebui/db && mkdir -p /etc/user/data/openwebui/pipelines && mkdir -p /etc/user/data/openwebui/qdrant",
"PRE_START": "null",
"POST_START": "null"
},
{
"IMAGE": "postgres:16-alpine",
"UPDATE": "true",
"NAME": "openwebuipostgres-db",
"MEMORY": "256M",
"NETWORK": "openwebui-net",
"SELECTOR": "openwebuipostgres-db",
"VOLUMES": [
{
"SOURCE": "/etc/user/data/openwebui/db",
"DEST": "/var/lib/postgresql/data",
"TYPE": "rw"
}
],
"PORTS": [
{
"SOURCE": "null",
"DEST": "5432",
"TYPE": "tcp"
}
],
"ENV_FILES": [
"/etc/user/secret/openwebui/openwebui.json"
],
"EXTRA": "--restart always",
"DEPEND": "null",
"START_ON_BOOT": "false",
"CMD": "null",
"PRE_START": "null",
"POST_START": "null"
},
{
"IMAGE": "qdrant/qdrant:latest",
"UPDATE": "true",
"NAME": "openwebui-qdrant",
"MEMORY": "256M",
"NETWORK": "openwebui-net",
"SELECTOR": "openwebui-qdrant",
"VOLUMES": [
{
"SOURCE": "/etc/user/data/openwebui/qdrant",
"DEST": "/qdrant/storage",
"TYPE": "rw"
}
],
"PORTS": [
{
"SOURCE": "null",
"DEST": "6333",
"TYPE": "tcp"
},
{
"SOURCE": "null",
"DEST": "6334",
"TYPE": "tcp"
}
],
"EXTRA": "--restart always",
"DEPEND": "null",
"START_ON_BOOT": "false",
"CMD": "null",
"PRE_START": "null",
"POST_START": "null"
},
{
"IMAGE": "ghcr.io/open-webui/pipelines:main",
"UPDATE": "true",
"NAME": "openwebui-pipelines",
"MEMORY": "256M",
"NETWORK": "openwebui-net",
"SELECTOR": "openwebui-pipelines",
"VOLUMES": [
{
"SOURCE": "/etc/user/data/openwebui/pipelines",
"DEST": "/app/pipelines",
"TYPE": "rw"
}
],
"PORTS": [
{
"SOURCE": "null",
"DEST": "9099",
"TYPE": "tcp"
}
],
"ENVS": [
{
"OPENAI_API_BASE_URL": "#OPENAI_API_BASE_URL"
},
{
"VECTOR_DB": "qdrant"
},
{
"QDRANT_HOST": "openwebui-qdrant"
},
{
"QDRANT_PORT": "6333"
},
{
"QDRANT_URI": "http://openwebui-qdrant:6333"
}
],
"EXTRA": "--restart always",
"DEPEND": [],
"START_ON_BOOT": "false",
"CMD": "null",
"PRE_START": "null",
"POST_START": "null"
},
{
"IMAGE": "ghcr.io/open-webui/open-webui:main",
"UPDATE": "true",
"NAME": "openwebui",
"MEMORY": "512M",
"NETWORK": "openwebui-net",
"SELECTOR": "openwebui-app",
"VOLUMES": [
{
"SOURCE": "/etc/user/data/openwebui/data",
"DEST": "/app/data",
"TYPE": "rw"
}
],
"PORTS": [
{
"SOURCE": "null",
"DEST": "8080",
"TYPE": "tcp"
}
],
"ENVS": [
{
"WEBUI_ADMIN_NAME": "#WEBUI_ADMIN_NAME"
},
{
"WEBUI_ADMIN_PASSWORD": "#WEBUI_ADMIN_PASSWORD"
},
{
"WEBUI_ADMIN_EMAIL": "#WEBUI_ADMIN_EMAIL"
},
{
"OPENAI_API_BASE_URL": "http://192.168.2.2:8080/v1"
},
{
"OPENAI_API_KEY": "#OPENAI_API_KEY"
},
{
"VECTOR_DB": "qdrant"
},
{
"QDRANT_HOST": "openwebui-qdrant"
},
{
"QDRANT_PORT": "6333"
},
{
"QDRANT_URI": "http://openwebui-qdrant:6333"
},
{
"ENABLE_RAG_PIPELINE": "True"
},
{
"RAG_PIPELINE_URL": "http://openwebui-pipelines:9099/v1"
}
],
"ENV_FILES": [
"/etc/user/secret/openwebui/openwebui.json"
],
"EXTRA": "--restart always",
"DEPEND": [],
"START_ON_BOOT": "false",
"CMD": "null",
"PRE_START": "null",
"POST_START": [
"firewall-openwebui",
"domain-openwebui",
"firewall-openwebui-dns"
]
}
]
}
File diff suppressed because one or more lines are too long
+5 -4
View File
@@ -1,13 +1,14 @@
{
"outlinepostgres": {
"POSTGRES_DB": "#DB_NAME",
"POSTGRES_USER": "#DB_USER",
"POSTGRES_PASSWORD": "#DB_PASSWORD"
"POSTGRES_DB": "#POSTGRES_DB",
"POSTGRES_USER": "#POSTGRES_USER",
"POSTGRES_PASSWORD": "#POSTGRES_PASSWORD",
"POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD"
},
"outlineapp": {
"SECRET_KEY": "#SECRET_KEY",
"UTILS_SECRET": "#UTILS_SECRET",
"DATABASE_URL": "postgres://#DB_USER:#DB_PASSWORD@outlinepostgres-db:5432/#DB_NAME",
"DATABASE_URL": "postgres://#POSTGRES_USER:#POSTGRES_PASSWORD@outlinepostgres-db:5432/#POSTGRES_DB",
"SLACK_CLIENT_ID": "#SLACK_CLIENT_ID",
"SLACK_CLIENT_SECRET": "#SLACK_CLIENT_SECRET",
"GOOGLE_CLIENT_ID": "#GOOGLE_CLIENT_ID",
+4 -4
View File
@@ -21,28 +21,28 @@
},
{
"description": "Postgres database name",
"key": "DB_NAME",
"key": "POSTGRES_DB",
"value": "",
"required": "true",
"generated": "time|md5|8"
},
{
"description": "Postgres username",
"key": "DB_USER",
"key": "POSTGRES_USER",
"value": "",
"required": "true",
"generated": "time|md5|8"
},
{
"description": "Postgres password for user",
"key": "DB_PASSWORD",
"key": "POSTGRES_PASSWORD",
"value": "",
"required": "true",
"generated": "random|md5|12"
},
{
"description": "Postgres root user password",
"key": "DB_ROOT_PASSWORD",
"key": "POSTGRES_ROOT_PASSWORD",
"value": "",
"required": "true",
"generated": "random|sha256|20"
+5 -4
View File
@@ -1,8 +1,9 @@
{
"quackbackpostgres": {
"POSTGRES_DB": "#DB_NAME",
"POSTGRES_USER": "#DB_USER",
"POSTGRES_PASSWORD": "#DB_PASSWORD"
"POSTGRES_DB": "#POSTGRES_DB",
"POSTGRES_USER": "#POSTGRES_USER",
"POSTGRES_PASSWORD": "#POSTGRES_PASSWORD",
"POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD"
},
"quackbackminio": {
"MINIO_ROOT_USER": "#MINIO_ROOT_USER",
@@ -11,7 +12,7 @@
"quackbackapp": {
"SECRET_KEY": "#SECRET_KEY",
"UTILS_SECRET": "#UTILS_SECRET",
"DATABASE_URL": "postgres://#DB_USER:#DB_PASSWORD@quackbackpostgres-db:5432/#DB_NAME",
"DATABASE_URL": "postgres://#POSTGRES_USER:#POSTGRES_PASSWORD@quackbackpostgres-db:5432/#POSTGRES_DB",
"SLACK_CLIENT_ID": "#SLACK_CLIENT_ID",
"SLACK_CLIENT_SECRET": "#SLACK_CLIENT_SECRET",
"GOOGLE_CLIENT_ID": "#GOOGLE_CLIENT_ID",
+7 -6
View File
@@ -26,7 +26,7 @@
"POST_START": "null"
},
{
"IMAGE": "postgres-quackback:18",
"IMAGE": "safebox/postgres-quackback:18",
"UPDATE": "true",
"NAME": "quackbackpostgres-db",
"MEMORY": "256M",
@@ -35,7 +35,7 @@
"VOLUMES": [
{
"SOURCE": "/etc/user/data/quackback/db",
"DEST": "/var/lib/postgresql/data",
"DEST": "/var/lib/postgresql",
"TYPE": "rw"
}
],
@@ -96,7 +96,7 @@
"IMAGE": "docker.dragonflydb.io/dragonflydb/dragonfly:v1.27.1",
"UPDATE": "true",
"NAME": "quackbackredis-server",
"MEMORY": "128M",
"MEMORY": "4096M",
"NETWORK": "quackback-net",
"SELECTOR": "quackbackredis",
"PORTS": [
@@ -138,8 +138,9 @@
"POST_START": "null"
},
{
"IMAGE": "safebox/quackback:latest",
"IMAGE": "safebox/quackback:#VERSION",
"UPDATE": "true",
"MEMORY": "4096M",
"NAME": "quackbackapp",
"NETWORK": "quackback-net",
"SELECTOR": "quackback-app",
@@ -176,10 +177,10 @@
"S3_ENDPOINT": "http://quackbackminio-app:9000"
},
{
"S3_BUCKET": "quackback"
"S3_BUCKET": "#S3_BUCKET"
},
{
"S3_REGION": "europe-east-1"
"S3_REGION": "#S3_REGION"
},
{
"S3_FORCE_PATH_STYLE": "true"
+39 -4
View File
@@ -21,38 +21,73 @@
},
{
"description": "Postgres database name",
"key": "DB_NAME",
"key": "POSTGRES_DB",
"value": "",
"required": "true",
"generated": "time|md5|8"
},
{
"description": "Postgres username",
"key": "DB_USER",
"key": "POSTGRES_USER",
"value": "",
"required": "true",
"generated": "time|md5|8"
},
{
"description": "Postgres password for user",
"key": "DB_PASSWORD",
"key": "POSTGRES_PASSWORD",
"value": "",
"required": "true",
"generated": "random|md5|12"
},
{
"description": "Postgres root user password",
"key": "DB_ROOT_PASSWORD",
"key": "POSTGRES_ROOT_PASSWORD",
"value": "",
"required": "true",
"generated": "random|sha256|20"
},
{
"description": "Minio username",
"key": "MINIO_ROOT_USER",
"value": "",
"required": "true",
"generated": "time|md5|8"
},
{
"description": "Minio password for user",
"key": "MINIO_ROOT_PASSWORD",
"value": "",
"required": "true",
"generated": "random|md5|12"
},
{
"description": "Domain:",
"key": "DOMAIN",
"value": "",
"required": "true"
},
{
"description": "Quackback image version",
"key": "VERSION",
"value": "latest",
"info": "Change latest version of Quackback image to custom",
"advanced": "true"
},
{
"description": "Quackback S3 bucket name",
"key": "S3_BUCKET",
"value": "quackback",
"info": "If not set the default, the name quackback will be set",
"advanced": "true"
},
{
"description": "Quackback S3 region",
"key": "S3_REGION",
"value": "us-east-1",
"info": "If not set the default, the region us-east-1 will be set",
"advanced": "true"
},
{
"description": "Slack client ID",
"key": "SLACK_CLIENT_ID",