Compare commits
	
		
			8 Commits
		
	
	
		
			dev
			...
			f26a4d60d9
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| f26a4d60d9 | |||
| 2f343b4b67 | |||
| fe5b98391b | |||
| 9827a6bd85 | |||
| 9fe2be7b26 | |||
| 48a20f2681 | |||
| db6a375c5e | |||
| 7eda10b29d | 
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1 +0,0 @@ | |||||||
| *tmp* |  | ||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -1,60 +0,0 @@ | |||||||
| { |  | ||||||
|     "main": { |  | ||||||
|         "SERVICE_NAME": "gitea", |  | ||||||
|         "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": "gitea-app" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "PORT": "3000" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "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" |  | ||||||
|                 } |  | ||||||
|             ] |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
| @@ -1,76 +0,0 @@ | |||||||
| { |  | ||||||
|     "main": { |  | ||||||
|         "SERVICE_NAME": "firewalls", |  | ||||||
|         "DOMAIN": "null" |  | ||||||
|     }, |  | ||||||
|     "containers": [ |  | ||||||
|         { |  | ||||||
|             "IMAGE": "safebox/firewall", |  | ||||||
|             "UPDATE": "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" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "PORTS": [], |  | ||||||
|             "READYNESS": [ |  | ||||||
|                 { |  | ||||||
|                     "tcp": "" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "HTTP": "" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "EXEC": "/ready.sh" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "ENVS": [ |  | ||||||
|                 { |  | ||||||
|                     "CHAIN": "DOCKER-USER" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "gitea-app" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TARGET": "coredns" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TYPE": "udp" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TARGET_PORT": "53" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "COMMENT": "gitea application access for local dns" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--privileged --rm", |  | ||||||
|             "DEPEND": "null", |  | ||||||
|             "START_ON_BOOT": "false", |  | ||||||
|             "CMD": "", |  | ||||||
|             "PRE_START": [], |  | ||||||
|             "POST_START": [] |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
| @@ -1,75 +0,0 @@ | |||||||
| { |  | ||||||
|     "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": "gitea-app" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TARGET": "smtp" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TYPE": "tcp" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TARGET_PORT": "25" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "COMMENT": "gitea to smtp" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--privileged --rm", |  | ||||||
|             "DEPEND": "null", |  | ||||||
|             "START_ON_BOOT": "false", |  | ||||||
|             "CMD": "null", |  | ||||||
|             "PRE_START": "null", |  | ||||||
|             "POST_START": "null" |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
| @@ -1,75 +0,0 @@ | |||||||
| { |  | ||||||
|     "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": "gitea-app" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TYPE": "tcp" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TARGET_PORT": "3000" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "COMMENT": "gitea" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--privileged --rm", |  | ||||||
|             "DEPEND": "null", |  | ||||||
|             "START_ON_BOOT": "false", |  | ||||||
|             "CMD": "null", |  | ||||||
|             "PRE_START": "null", |  | ||||||
|             "POST_START": "null" |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
| @@ -1,22 +0,0 @@ | |||||||
| { |  | ||||||
|     "giteapostgres": { |  | ||||||
|         "POSTGRES_DB": "#POSTGRES_DB", |  | ||||||
|         "POSTGRES_USER": "#POSTGRES_USER", |  | ||||||
|         "POSTGRES_PASSWORD": "#POSTGRES_PASSWORD", |  | ||||||
|         "POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD" |  | ||||||
|     }, |  | ||||||
|     "giteaapp": { |  | ||||||
|         "GITEA__database__DB_TYPE": "postgres", |  | ||||||
|         "GITEA__database__HOST": "giteapostgres-db", |  | ||||||
|         "GITEA__database__NAME": "#POSTGRES_DB", |  | ||||||
|         "GITEA__database__USER": "#POSTGRES_USER", |  | ||||||
|         "GITEA__database__PASSWD": "#POSTGRES_PASSWORD", |  | ||||||
|         "GITEA__mailer__ENABLED": "#MAIL_ENABLE", |  | ||||||
|         "GITEA__mailer__FROM": "#MAIL_FROM", |  | ||||||
|         "GITEA__mailer__PROTOCOL": "#MAIL_PROTOCOL", |  | ||||||
|         "GITEA__mailer__SMTP_ADDR": "#MAIL_SMTP_ADDR", |  | ||||||
|         "GITEA__mailer__SMTP_PORT": "#MAIL_SMTP_PORT", |  | ||||||
|         "GITEA__mailer__USER": "#MAIL_USER", |  | ||||||
|         "GITEA__mailer__PASSWD": "#MAIL_PASSWORD" |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @@ -1,110 +0,0 @@ | |||||||
| { |  | ||||||
|     "main": { |  | ||||||
|         "SERVICE_NAME": "gitea", |  | ||||||
|         "DOMAIN": "#DOMAIN" |  | ||||||
|     }, |  | ||||||
|     "containers": [ |  | ||||||
|         { |  | ||||||
|             "IMAGE": "alpine:latest", |  | ||||||
|             "UPDATE": "true", |  | ||||||
|             "NAME": "gitea-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/gitea/db && mkdir -p /etc/user/data/gitea/data && chown -R 1000:1000 /etc/user/data/gitea", |  | ||||||
|             "PRE_START": "null", |  | ||||||
|             "POST_START": "null" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "IMAGE": "postgres:15-alpine", |  | ||||||
|             "NAME": "giteapostgres-db", |  | ||||||
|             "UPDATE": "true", |  | ||||||
|             "ROLES": "postgres-db", |  | ||||||
|             "MEMORY": "256M", |  | ||||||
|             "NETWORK": "gitea-net", |  | ||||||
|             "SELECTOR": "giteapostgres-db", |  | ||||||
|             "VOLUMES": [ |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "/etc/user/data/gitea/db", |  | ||||||
|                     "DEST": "/var/lib/postgresql/data", |  | ||||||
|                     "TYPE": "rw" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "PORTS": [ |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "null", |  | ||||||
|                     "DEST": "5432", |  | ||||||
|                     "TYPE": "tcp" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "ENV_FILES": [ |  | ||||||
|                 "/etc/user/secret/gitea/gitea.json" |  | ||||||
|             ], |  | ||||||
|             "ENVS": [ |  | ||||||
|                 { |  | ||||||
|                     "POSTGRES_INITDB_ARGS": "--encoding=UTF8 --locale=C" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--label logging=promtail_user --label logging_jobname=containers --restart unless-stopped", |  | ||||||
|             "DEPEND": "null", |  | ||||||
|             "START_ON_BOOT": "false", |  | ||||||
|             "CMD": "null", |  | ||||||
|             "PRE_START": [], |  | ||||||
|             "POST_START": [] |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "IMAGE": "gitea/gitea:latest", |  | ||||||
|             "UPDATE": "true", |  | ||||||
|             "NAME": "giteaapp", |  | ||||||
|             "DNS": [ |  | ||||||
|                 "coredns" |  | ||||||
|             ], |  | ||||||
|             "MEMORY": "512M", |  | ||||||
|             "SELECTOR": "gitea-app", |  | ||||||
|             "NETWORK": "gitea-net", |  | ||||||
|             "VOLUMES": [ |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "/etc/user/data/gitea/data", |  | ||||||
|                     "DEST": "/data", |  | ||||||
|                     "TYPE": "rw" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "PORTS": [ |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "null", |  | ||||||
|                     "DEST": "3000", |  | ||||||
|                     "TYPE": "tcp" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "null", |  | ||||||
|                     "DEST": "22", |  | ||||||
|                     "TYPE": "tcp" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "null", |  | ||||||
|             "ENV_FILES": [ |  | ||||||
|                 "/etc/user/secret/gitea/gitea.json" |  | ||||||
|             ], |  | ||||||
|             "DEPEND": [], |  | ||||||
|             "START_ON_BOOT": "true", |  | ||||||
|             "CMD": "null", |  | ||||||
|             "PRE_START": "null", |  | ||||||
|             "POST_START": [ |  | ||||||
|                 "firewall-gitea-dns", |  | ||||||
|                 "firewall-gitea-smtp", |  | ||||||
|                 "firewall-gitea", |  | ||||||
|                 "domain-gitea" |  | ||||||
|             ] |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -29,7 +29,7 @@ | |||||||
|             "IMAGE": "tensorchord/pgvecto-rs:pg14-v0.2.0", |             "IMAGE": "tensorchord/pgvecto-rs:pg14-v0.2.0", | ||||||
|             "UPDATE": "true", |             "UPDATE": "true", | ||||||
|             "NAME": "immichpostgres-db", |             "NAME": "immichpostgres-db", | ||||||
|             "MEMORY": "768M", |             "MEMORY": "512M", | ||||||
|             "NETWORK": "immich-net", |             "NETWORK": "immich-net", | ||||||
|             "SELECTOR": "immichpostgres", |             "SELECTOR": "immichpostgres", | ||||||
|             "VOLUMES": [ |             "VOLUMES": [ | ||||||
| @@ -49,11 +49,6 @@ | |||||||
|             "ENV_FILES": [ |             "ENV_FILES": [ | ||||||
|                 "/etc/user/secret/immich/immich.json" |                 "/etc/user/secret/immich/immich.json" | ||||||
|             ], |             ], | ||||||
|             "ENVS": [ |  | ||||||
|                 { |  | ||||||
|                     "POSTGRES_INITDB_ARGS": "--data-checksums" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--restart always", |             "EXTRA": "--restart always", | ||||||
|             "DEPEND": "null", |             "DEPEND": "null", | ||||||
|             "START_ON_BOOT": "false", |             "START_ON_BOOT": "false", | ||||||
|   | |||||||
| @@ -1,63 +0,0 @@ | |||||||
| { |  | ||||||
|     "main": { |  | ||||||
|         "SERVICE_NAME": "matrix", |  | ||||||
|         "DOMAIN": "#ADMINDOMAIN" |  | ||||||
|     }, |  | ||||||
|     "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": "matrixadmin" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "PORT": "80" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "DOMAIN": "#ADMINDOMAIN" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "SMARTHOST_PROXY_PATH": "/smarthost-domains" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "LOCATION": "#SUBPATH" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "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" |  | ||||||
|                 } |  | ||||||
|             ] |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
| @@ -1,60 +0,0 @@ | |||||||
| { |  | ||||||
|     "main": { |  | ||||||
|         "SERVICE_NAME": "matrix", |  | ||||||
|         "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": "matrixserver" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "PORT": "8008" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "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" |  | ||||||
|                 } |  | ||||||
|             ] |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
| @@ -1,75 +0,0 @@ | |||||||
| { |  | ||||||
|     "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": "matrixadmin" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TYPE": "tcp" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TARGET_PORT": "80" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "COMMENT": "matrixadmin for proxy" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--privileged --rm", |  | ||||||
|             "DEPEND": "null", |  | ||||||
|             "START_ON_BOOT": "false", |  | ||||||
|             "CMD": "null", |  | ||||||
|             "PRE_START": "null", |  | ||||||
|             "POST_START": "null" |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
| @@ -1,76 +0,0 @@ | |||||||
| { |  | ||||||
|     "main": { |  | ||||||
|         "SERVICE_NAME": "firewalls", |  | ||||||
|         "DOMAIN": "null" |  | ||||||
|     }, |  | ||||||
|     "containers": [ |  | ||||||
|         { |  | ||||||
|             "IMAGE": "safebox/firewall", |  | ||||||
|             "UPDATE": "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" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "PORTS": [], |  | ||||||
|             "READYNESS": [ |  | ||||||
|                 { |  | ||||||
|                     "tcp": "" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "HTTP": "" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "EXEC": "/ready.sh" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "ENVS": [ |  | ||||||
|                 { |  | ||||||
|                     "CHAIN": "DOCKER-USER" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "matrixserver" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TARGET": "coredns" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TYPE": "udp" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TARGET_PORT": "53" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "COMMENT": "matrix nginx access for local dns" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--privileged --rm", |  | ||||||
|             "DEPEND": "null", |  | ||||||
|             "START_ON_BOOT": "false", |  | ||||||
|             "CMD": "", |  | ||||||
|             "PRE_START": [], |  | ||||||
|             "POST_START": [] |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
| @@ -1,75 +0,0 @@ | |||||||
| { |  | ||||||
|     "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": "matrixserver" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TARGET": "smtp" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TYPE": "tcp" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TARGET_PORT": "25" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "COMMENT": "matrix to smtp" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--privileged --rm", |  | ||||||
|             "DEPEND": "null", |  | ||||||
|             "START_ON_BOOT": "false", |  | ||||||
|             "CMD": "null", |  | ||||||
|             "PRE_START": "null", |  | ||||||
|             "POST_START": "null" |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
| @@ -1,75 +0,0 @@ | |||||||
| { |  | ||||||
|     "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": "matrixserver" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TYPE": "tcp" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TARGET_PORT": "8008" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "COMMENT": "matrix" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--privileged --rm", |  | ||||||
|             "DEPEND": "null", |  | ||||||
|             "START_ON_BOOT": "false", |  | ||||||
|             "CMD": "null", |  | ||||||
|             "PRE_START": "null", |  | ||||||
|             "POST_START": "null" |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
| @@ -1,29 +0,0 @@ | |||||||
| { |  | ||||||
|     "matrixpostgres": { |  | ||||||
|         "POSTGRES_DB": "#POSTGRES_DB", |  | ||||||
|         "POSTGRES_USER": "#POSTGRES_USER", |  | ||||||
|         "POSTGRES_PASSWORD": "#POSTGRES_PASSWORD", |  | ||||||
|         "POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD" |  | ||||||
|     }, |  | ||||||
|     "matrixserver": { |  | ||||||
|         "DB_TYPE": "psycopg2", |  | ||||||
|         "POSTGRES_DB": "#POSTGRES_DB", |  | ||||||
|         "POSTGRES_USER": "#POSTGRES_USER", |  | ||||||
|         "POSTGRES_PASSWORD": "#POSTGRES_PASSWORD", |  | ||||||
|         "POSTGRES_HOST": "matrixpostgres-db", |  | ||||||
|         "DB_PORT": "5432", |  | ||||||
|         "SYNAPSE_SERVER_NAME": "#DOMAIN", |  | ||||||
|         "SYNAPSE_REPORT_STATS": "no", |  | ||||||
|         "ADMIN_USERNAME": "#ADMIN_USERNAME", |  | ||||||
|         "ADMIN_PASSWORD": "#ADMIN_PASSWORD", |  | ||||||
|         "SYNAPSE_CONFIG_DIR": "/data", |  | ||||||
|         "SYNAPSE_CONFIG_PATH": "/data/homeserver.yaml", |  | ||||||
|         "SYNAPSE_DATA_DIR": "/data" |  | ||||||
|     }, |  | ||||||
|     "matrixadmin": { |  | ||||||
|         "REACT_APP_SERVER": "https://#DOMAIN", |  | ||||||
|         "BASE_PATH": "#ADMINDOMAIN", |  | ||||||
|         "ADMINDOMAIN": "#ADMINDOMAIN", |  | ||||||
|         "SUBPATH": "#SUBPATH" |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|     "main": { |     "main": { | ||||||
|         "SERVICE_NAME": "matrix", |         "SERVICE_NAME": "matrix-server", | ||||||
|         "DOMAIN": "DOMAIN" |         "DOMAIN": "DOMAIN" | ||||||
|     }, |     }, | ||||||
|     "containers": [ |     "containers": [ | ||||||
| @@ -15,6 +15,16 @@ | |||||||
|                     "SOURCE": "USER_DATA", |                     "SOURCE": "USER_DATA", | ||||||
|                     "DEST": "/etc/user/data", |                     "DEST": "/etc/user/data", | ||||||
|                     "TYPE": "rw" |                     "TYPE": "rw" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                     "SOURCE": "SYSTEM_DATA", | ||||||
|  |                     "DEST": "/etc/system/data", | ||||||
|  |                     "TYPE": "rw" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                     "SOURCE": "SYSTEM_LOG", | ||||||
|  |                     "DEST": "/etc/system/log", | ||||||
|  |                     "TYPE": "rw" | ||||||
|                 } |                 } | ||||||
|             ], |             ], | ||||||
|             "ENV_FILES": [ |             "ENV_FILES": [ | ||||||
| @@ -38,7 +48,7 @@ | |||||||
|             "SELECTOR": "matrixpostgres-db", |             "SELECTOR": "matrixpostgres-db", | ||||||
|             "VOLUMES": [ |             "VOLUMES": [ | ||||||
|                 { |                 { | ||||||
|                     "SOURCE": "/etc/user/data/matrix/db", |                     "SOURCE": "/etc/user/data/matrix/postgresql", | ||||||
|                     "DEST": "/var/lib/postgresql/data", |                     "DEST": "/var/lib/postgresql/data", | ||||||
|                     "TYPE": "rw" |                     "TYPE": "rw" | ||||||
|                 } |                 } | ||||||
| @@ -55,7 +65,7 @@ | |||||||
|             ], |             ], | ||||||
|             "ENVS": [ |             "ENVS": [ | ||||||
|                 { |                 { | ||||||
|                     "POSTGRES_INITDB_ARGS": "--encoding=UTF-8 --lc-collate=C --lc-ctype=C" |                     "POSTGRES_INITDB_ARGS": "--encoding=UTF8 --locale=C" | ||||||
|                 } |                 } | ||||||
|             ], |             ], | ||||||
|             "EXTRA": "--restart unless-stopped", |             "EXTRA": "--restart unless-stopped", | ||||||
| @@ -68,57 +78,9 @@ | |||||||
|         { |         { | ||||||
|             "IMAGE": "matrixdotorg/synapse", |             "IMAGE": "matrixdotorg/synapse", | ||||||
|             "UPDATE": "true", |             "UPDATE": "true", | ||||||
|             "NAME": "matrixserver-init", |             "NAME": "matrixserver", | ||||||
|             "ROLES": "backend-www", |             "ROLES": "backend-www", | ||||||
|             "MEMORY": "512M", |             "MEMORY": "2048M", | ||||||
|             "NETWORK": "matrix-net", |  | ||||||
|             "VOLUMES": [ |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "/etc/user/data/matrix/synapse", |  | ||||||
|                     "DEST": "/data", |  | ||||||
|                     "TYPE": "rw" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "ENV_FILES": [ |  | ||||||
|                 "/etc/user/secret/matrix/matrix.json" |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--rm", |  | ||||||
|             "DEPEND": "null", |  | ||||||
|             "START_ON_BOOT": "false", |  | ||||||
|             "ENTRYPOINT": "bash -c", |  | ||||||
|             "CMD": "if [ ! -f /data/homeserver.yaml ]; then /start.py generate ; else exit 1; fi", |  | ||||||
|             "PRE_START": [], |  | ||||||
|             "POST_START": [] |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "IMAGE": "safebox/matrix-setup:latest", |  | ||||||
|             "UPDATE": "true", |  | ||||||
|             "NAME": "matrixserver-dbinit", |  | ||||||
|             "NETWORK": "host", |  | ||||||
|             "MEMORY": "64M", |  | ||||||
|             "VOLUMES": [ |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "/etc/user/data/matrix/synapse", |  | ||||||
|                     "DEST": "/data", |  | ||||||
|                     "TYPE": "rw" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "ENV_FILES": [ |  | ||||||
|                 "/etc/user/secret/matrix/matrix.json" |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--rm", |  | ||||||
|             "DEPEND": "null", |  | ||||||
|             "START_ON_BOOT": "false", |  | ||||||
|             "CMD": "null", |  | ||||||
|             "PRE_START": "null", |  | ||||||
|             "POST_START": "null" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "IMAGE": "matrixdotorg/synapse", |  | ||||||
|             "UPDATE": "true", |  | ||||||
|             "NAME": "matrixserver-app", |  | ||||||
|             "ROLES": "backend-www", |  | ||||||
|             "MEMORY": "512M", |  | ||||||
|             "NETWORK": "matrix-net", |             "NETWORK": "matrix-net", | ||||||
|             "SELECTOR": "matrixserver", |             "SELECTOR": "matrixserver", | ||||||
|             "VOLUMES": [ |             "VOLUMES": [ | ||||||
| @@ -128,6 +90,13 @@ | |||||||
|                     "TYPE": "rw" |                     "TYPE": "rw" | ||||||
|                 } |                 } | ||||||
|             ], |             ], | ||||||
|  |             "PORTS": [ | ||||||
|  |                 { | ||||||
|  |                     "SOURCE": "null", | ||||||
|  |                     "DEST": "8008", | ||||||
|  |                     "TYPE": "tcp" | ||||||
|  |                 } | ||||||
|  |             ], | ||||||
|             "ENV_FILES": [ |             "ENV_FILES": [ | ||||||
|                 "/etc/user/secret/matrix/matrix.json" |                 "/etc/user/secret/matrix/matrix.json" | ||||||
|             ], |             ], | ||||||
| @@ -141,34 +110,6 @@ | |||||||
|                 "domain-matrix" |                 "domain-matrix" | ||||||
|             ] |             ] | ||||||
|         }, |         }, | ||||||
|         { |  | ||||||
|             "IMAGE": "safebox/matrix-setup:latest", |  | ||||||
|             "UPDATE": "true", |  | ||||||
|             "NAME": "matrixserver-finalize", |  | ||||||
|             "NETWORK": "host", |  | ||||||
|             "MEMORY": "64M", |  | ||||||
|             "VOLUMES": [ |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "/etc/user/data/matrix/synapse", |  | ||||||
|                     "DEST": "/data", |  | ||||||
|                     "TYPE": "rw" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "SHARED", |  | ||||||
|                     "DEST": "/var/tmp/shared", |  | ||||||
|                     "TYPE": "rw" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "ENV_FILES": [ |  | ||||||
|                 "/etc/user/secret/matrix/matrix.json" |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--rm", |  | ||||||
|             "DEPEND": "null", |  | ||||||
|             "START_ON_BOOT": "false", |  | ||||||
|             "CMD": "null", |  | ||||||
|             "PRE_START": "null", |  | ||||||
|             "POST_START": "null" |  | ||||||
|         }, |  | ||||||
|         { |         { | ||||||
|             "IMAGE": "awesometechnologies/synapse-admin", |             "IMAGE": "awesometechnologies/synapse-admin", | ||||||
|             "UPDATE": "true", |             "UPDATE": "true", | ||||||
| @@ -192,7 +133,8 @@ | |||||||
|             "PRE_START": [], |             "PRE_START": [], | ||||||
|             "POST_START": [ |             "POST_START": [ | ||||||
|                 "firewall-matrix-admin", |                 "firewall-matrix-admin", | ||||||
|                 "domain-matrix-admin" |                 "domain-matrix-admin", | ||||||
|  |                 "domain-matrix-adminweb" | ||||||
|             ] |             ] | ||||||
|         } |         } | ||||||
|     ] |     ] | ||||||
|   | |||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -1,7 +1,7 @@ | |||||||
| { |  { | ||||||
|     "main": {  |     "main": {  | ||||||
|       "SERVICE_NAME": "nextcloud", |       "SERVICE_NAME": "nextcloud", | ||||||
|         "DOMAIN": "#DOMAIN" |       "DOMAIN": "#NEXTCLOUD_TRUSTED_DOMAINS" | ||||||
|     }, |     }, | ||||||
|     "containers": [ |     "containers": [ | ||||||
|       {  |       {  | ||||||
| @@ -19,24 +19,12 @@ | |||||||
| 	"POST_START": [],  | 	"POST_START": [],  | ||||||
| 	"CMD": "", | 	"CMD": "", | ||||||
|         "ENVS": [ |         "ENVS": [ | ||||||
|                 { |           { "PROXY": "smarthostloadbalancer" }, | ||||||
|                     "PROXY": "smarthostloadbalancer" |           { "TARGET": "nextcloudnginx" }, | ||||||
|                 }, |           { "PORT": "80" }, | ||||||
|                 { |           { "DOMAIN": "#NEXTCLOUD_TRUSTED_DOMAINS" }, | ||||||
|                     "TARGET": "nextcloudnginx" |           { "SMARTHOST_PROXY_PATH": "/smarthost-domains" }, | ||||||
|                 }, | 	        { "OPERATION": "CREATE" } | ||||||
|                 { |  | ||||||
|                     "PORT": "80" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "DOMAIN": "#DOMAIN" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "SMARTHOST_PROXY_PATH": "/smarthost-domains" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "OPERATION": "CREATE" |  | ||||||
|                 } |  | ||||||
|         ], |         ], | ||||||
|         "VOLUMES": [ |         "VOLUMES": [ | ||||||
|           { |           { | ||||||
|   | |||||||
| @@ -1,20 +1,20 @@ | |||||||
| { | { | ||||||
|     "nextcloudpostgres": { |     "nextcloudmysql": { | ||||||
|         "POSTGRES_DB": "#POSTGRES_DB", |         "MARIADB_DATABASE": "#MARIADB_DATABASE", | ||||||
|         "POSTGRES_USER": "#POSTGRES_USER", |         "MARIADB_USER": "#MARIADB_USER", | ||||||
|         "POSTGRES_PASSWORD": "#POSTGRES_PASSWORD", |         "MARIADB_PASSWORD": "#MARIADB_PASSWORD", | ||||||
|         "POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD" |         "MARIADB_ROOT_PASSWORD": "#MARIADB_ROOT_PASSWORD" | ||||||
|     }, |     }, | ||||||
|     "nextcloudphp": { |     "nextcloudphp": { | ||||||
|         "NEXTCLOUD_ADMIN_USER": "#NEXTCLOUD_ADMIN_USER", |         "NEXTCLOUD_ADMIN_USER": "#NEXTCLOUD_ADMIN_USER", | ||||||
|         "NEXTCLOUD_ADMIN_PASSWORD": "#NEXTCLOUD_ADMIN_PASSWORD", |         "NEXTCLOUD_ADMIN_PASSWORD": "#NEXTCLOUD_ADMIN_PASSWORD", | ||||||
|         "DOMAIN": "#DOMAIN", |         "NEXTCLOUD_TRUSTED_DOMAINS": "#NEXTCLOUD_TRUSTED_DOMAINS", | ||||||
|         "OVERWRITEHOST": "#DOMAIN", |         "OVERWRITEHOST": "#NEXTCLOUD_TRUSTED_DOMAINS", | ||||||
|         "NEXTCLOUD_DATA_DIR": "/var/data", |         "NEXTCLOUD_DATA_DIR": "/var/data", | ||||||
|         "POSTGRES_DB": "#POSTGRES_DB", |         "MYSQL_DATABASE": "#MARIADB_DATABASE", | ||||||
|         "POSTGRES_USER": "#POSTGRES_USER", |         "MYSQL_USER": "#MARIADB_USER", | ||||||
|         "POSTGRES_PASSWORD": "#POSTGRES_PASSWORD", |         "MYSQL_PASSWORD": "#MARIADB_PASSWORD", | ||||||
|         "POSTGRES_HOST": "nextcloudpostgres-db", |         "MYSQL_HOST": "nextcloudmysql-db", | ||||||
|         "REDIS_HOST": "nextcloud-redis" |         "REDIS_HOST": "nextcloud-redis" | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @@ -34,31 +34,47 @@ | |||||||
|             "DEPEND": "null", |             "DEPEND": "null", | ||||||
|             "START_ON_BOOT": "false", |             "START_ON_BOOT": "false", | ||||||
|             "ENTRYPOINT": "sh -c", |             "ENTRYPOINT": "sh -c", | ||||||
|             "CMD": "mkdir -p /etc/user/data/nextcloud/db && mkdir -p /etc/user/data/nextcloud/apps && mkdir -p /etc/user/data/nextcloud/config && mkdir -p /etc/user/data/nextcloud/data && chmod 777 -R /etc/user/data/nextcloud && chmod 0770 -R /etc/user/data/nextcloud/data && chown -R 82:82 /etc/user/data/nextcloud/data && chown -R 82:82 /etc/user/data/nextcloud/apps && chown -R 82:82 /etc/user/data/nextcloud/config", |             "CMD": "mkdir -p /etc/user/data/nextcloud/db && mkdir -p /etc/system/log/nextcloud/db && mkdir -p /etc/user/data/nextcloud/apps && mkdir -p /etc/user/data/nextcloud/config && mkdir -p /etc/user/data/nextcloud/data && chmod 777 -R /etc/user/data/nextcloud && chmod 0770 -R /etc/user/data/nextcloud/data && chown -R 82:82 /etc/user/data/nextcloud/data && chown -R 82:82 /etc/user/data/nextcloud/apps && chown -R 82:82 /etc/user/data/nextcloud/config", | ||||||
|             "PRE_START": "null", |             "PRE_START": "null", | ||||||
|             "POST_START": "null" |             "POST_START": "null" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "IMAGE": "postgres:15-alpine", |             "IMAGE": "mariadb:10.5", | ||||||
|             "UPDATE": "true", |             "UPDATE": "true", | ||||||
|             "NAME": "nextcloudpostgres-db", |             "NAME": "nextcloudmysql-db", | ||||||
|             "MEMORY": "256M", |             "MEMORY": "256M", | ||||||
|             "NETWORK": "nextcloud-net", |             "NETWORK": "nextcloud-net", | ||||||
|             "SELECTOR": "nextcloudpostgres", |             "SELECTOR": "nextcloudmysql", | ||||||
|             "VOLUMES": [ |             "VOLUMES": [ | ||||||
|                 { |                 { | ||||||
|                     "SOURCE": "/etc/user/data/nextcloud/db", |                     "SOURCE": "/etc/user/data/nextcloud/db", | ||||||
|                     "DEST": "/var/lib/postgres", |                     "DEST": "/var/lib/mysql", | ||||||
|  |                     "TYPE": "rw" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                     "SOURCE": "/etc/system/log/nextcloud/db", | ||||||
|  |                     "DEST": "/var/lib/mysql/mysql-bin", | ||||||
|                     "TYPE": "rw" |                     "TYPE": "rw" | ||||||
|                 } |                 } | ||||||
|             ], |             ], | ||||||
|             "PORTS": [ |             "PORTS": [ | ||||||
|                 { |                 { | ||||||
|                     "SOURCE": "null", |                     "SOURCE": "null", | ||||||
|                     "DEST": "5432", |                     "DEST": "3306", | ||||||
|                     "TYPE": "tcp" |                     "TYPE": "tcp" | ||||||
|                 } |                 } | ||||||
|             ], |             ], | ||||||
|  |             "READYNESS": [ | ||||||
|  |                 { | ||||||
|  |                     "tcp": "3306" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                     "HTTP": "" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                     "EXEC": "/ready.sh" | ||||||
|  |                 } | ||||||
|  |             ], | ||||||
|             "ENV_FILES": [ |             "ENV_FILES": [ | ||||||
|                 "/etc/user/secret/nextcloud/nextcloud.json" |                 "/etc/user/secret/nextcloud/nextcloud.json" | ||||||
|             ], |             ], | ||||||
| @@ -166,7 +182,7 @@ | |||||||
|             ] |             ] | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "IMAGE": "safebox/nextcloud-nginx:latest", |             "IMAGE": "registry.format.hu/nextcloud-nginx:1.23.1", | ||||||
|             "UPDATE": "true", |             "UPDATE": "true", | ||||||
|             "NAME": "nextcloudnginx", |             "NAME": "nextcloudnginx", | ||||||
|             "ROLES": "backend-www", |             "ROLES": "backend-www", | ||||||
|   | |||||||
| @@ -8,13 +8,15 @@ | |||||||
|         { |         { | ||||||
|             "title": "", |             "title": "", | ||||||
|             "details": "", |             "details": "", | ||||||
|  |             "info": "Nextcloud domain info", | ||||||
|             "description": "Domain", |             "description": "Domain", | ||||||
|             "key": "DOMAIN", |             "key": "NEXTCLOUD_TRUSTED_DOMAINS", | ||||||
|             "value": "", |             "value": "", | ||||||
|             "required": "true" |             "required": "true" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "details": "", |             "details": "", | ||||||
|  |             "info": "Nextcloud user name info", | ||||||
|             "description": "Username", |             "description": "Username", | ||||||
|             "key": "NEXTCLOUD_ADMIN_USER", |             "key": "NEXTCLOUD_ADMIN_USER", | ||||||
|             "value": "", |             "value": "", | ||||||
| @@ -30,34 +32,34 @@ | |||||||
|         { |         { | ||||||
|             "description": "Version", |             "description": "Version", | ||||||
|             "key": "VERSION", |             "key": "VERSION", | ||||||
|             "value": "31.0.8-fpm-alpine", |             "value": "26.0.13-fpm-alpine", | ||||||
|             "info": "Please keep in mind you can't upgrade major version without skipping a version!", |             "info": "Please keep in mind you can't upgrade major version without skipping a version!", | ||||||
|             "advanced": "true" |             "advanced": "true" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "description": "Postgres database name", |             "description": "MYSQL database name", | ||||||
|             "key": "POSTGRES_DB", |             "key": "MARIADB_DATABASE", | ||||||
|             "value": "", |             "value": "", | ||||||
|             "required": "true", |             "required": "true", | ||||||
|             "generated": "time|md5|8" |             "generated": "time|md5|8" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "description": "Postgres username", |             "description": "MYSQL username", | ||||||
|             "key": "POSTGRES_USER", |             "key": "MARIADB_USER", | ||||||
|             "value": "", |             "value": "", | ||||||
|             "required": "true", |             "required": "true", | ||||||
|             "generated": "time|md5|8" |             "generated": "time|md5|8" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "description": "Postgres password for user", |             "description": "MYSQL password for user", | ||||||
|             "key": "POSTGRES_PASSWORD", |             "key": "MARIADB_PASSWORD", | ||||||
|             "value": "", |             "value": "", | ||||||
|             "required": "true", |             "required": "true", | ||||||
|             "generated": "random|md5|12" |             "generated": "random|md5|12" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "description": "Postgres root user password", |             "description": "MYSQL root user password", | ||||||
|             "key": "POSTGRES_ROOT_PASSWORD", |             "key": "MARIADB_ROOT_PASSWORD", | ||||||
|             "value": "", |             "value": "", | ||||||
|             "required": "true", |             "required": "true", | ||||||
|             "generated": "random|sha256|20" |             "generated": "random|sha256|20" | ||||||
|   | |||||||
| @@ -7,31 +7,6 @@ | |||||||
|     "outlineapp": { |     "outlineapp": { | ||||||
|         "SECRET_KEY": "#SECRET_KEY", |         "SECRET_KEY": "#SECRET_KEY", | ||||||
|         "UTILS_SECRET": "#UTILS_SECRET", |         "UTILS_SECRET": "#UTILS_SECRET", | ||||||
|         "DATABASE_URL": "postgres://#DB_USER:#DB_PASSWORD@outlinepostgres-db:5432/#DB_NAME", |         "DATABASE_URL": "postgres://#DB_USER:#DB_PASSWORD@outlinepostgres-db:5432/#DB_NAME" | ||||||
|         "SLACK_CLIENT_ID": "#SLACK_CLIENT_ID", |  | ||||||
|         "SLACK_CLIENT_SECRET": "#SLACK_CLIENT_SECRET", |  | ||||||
|         "GOOGLE_CLIENT_ID": "#GOOGLE_CLIENT_ID", |  | ||||||
|         "GOOGLE_CLIENT_SECRET": "#GOOGLE_CLIENT_SECRET", |  | ||||||
|         "AZURE_CLIENT_ID": "#AZURE_CLIENT_ID", |  | ||||||
|         "AZURE_CLIENT_SECRET": "#AZURE_CLIENT_SECRET", |  | ||||||
|         "AZURE_RESOURCE_APP_ID": "#AZURE_RESOURCE_APP_ID", |  | ||||||
|         "DISCORD_CLIENT_ID": "#DISCORD_CLIENT_ID", |  | ||||||
|         "DISCORD_CLIENT_SECRET": "#DISCORD_CLIENT_SECRET", |  | ||||||
|         "DISCORD_SERVER_ID": "#DISCORD_SERVER_ID", |  | ||||||
|         "OIDC_CLIENT_ID": "#OIDC_CLIENT_ID", |  | ||||||
|         "OIDC_CLIENT_SECRET": "#OIDC_CLIENT_SECRET", |  | ||||||
|         "OIDC_AUTH_URI": "#OIDC_AUTH_URI", |  | ||||||
|         "OIDC_TOKEN_URI": "#OIDC_TOKEN_URI", |  | ||||||
|         "OIDC_USERINFO_URI": "#OIDC_USERINFO_URI", |  | ||||||
|         "OIDC_LOGOUT_URI": "#OIDC_LOGOUT_URI", |  | ||||||
|         "OIDC_USERNAME_CLAIM": "#OIDC_USERNAME_CLAIM", |  | ||||||
|         "OIDC_DISPLAY_NAME": "#OIDC_DISPLAY_NAME", |  | ||||||
|         "OIDC_SCOPES": "#OIDC_SCOPES", |  | ||||||
|         "SMTP_HOST": "#SMTP_HOST", |  | ||||||
|         "SMTP_PORT": "#SMTP_PORT", |  | ||||||
|         "SMTP_SERVICE": "#SMTP_SERVICE", |  | ||||||
|         "SMTP_USERNAME": "#SMTP_USERNAME", |  | ||||||
|         "SMTP_PASSWORD": "#SMTP_PASSWORD", |  | ||||||
|         "SMTP_FROM_EMAIL": "#SMTP_FROM_EMAIL" |  | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @@ -108,10 +108,10 @@ | |||||||
|                     "DATABASE_CONNECTION_POOL_MAX": "" |                     "DATABASE_CONNECTION_POOL_MAX": "" | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                     "REDIS_URL": "redis://outlineredis-server:6379" |                     "REDIS_URL": "redis://outlineredis-app:6379" | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                     "URL": "https://#DOMAIN" |                     "URL": "https://#OUTLINE_DOMAIN" | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                     "PORT": 3000 |                     "PORT": 3000 | ||||||
|   | |||||||
| @@ -52,174 +52,6 @@ | |||||||
|             "key": "DOMAIN", |             "key": "DOMAIN", | ||||||
|             "value": "", |             "value": "", | ||||||
|             "required": "true" |             "required": "true" | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Slack client ID", |  | ||||||
|             "key": "SLACK_CLIENT_ID", |  | ||||||
|             "value": "", |  | ||||||
|             "info": "Create a new app in your Slack workspace at https://api.slack.com/apps?new_app=1 and add 'Sign in with Slack' under 'Add features and functionality'. Set the Redirect URL to 'https://<your-domain>/auth/slack.callback'.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Slack client secret", |  | ||||||
|             "key": "SLACK_CLIENT_SECRET", |  | ||||||
|             "value": "", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Google client ID", |  | ||||||
|             "key": "GOOGLE_CLIENT_ID", |  | ||||||
|             "value": "", |  | ||||||
|             "info": "Create OAuth 2.0 credentials in Google Cloud Console at https://console.cloud.google.com/apis/credentials and set the Redirect URL to 'https://<your-domain>/auth/google.callback'.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Google client secret", |  | ||||||
|             "key": "GOOGLE_CLIENT_SECRET", |  | ||||||
|             "value": "", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Azure client ID", |  | ||||||
|             "key": "AZURE_CLIENT_ID", |  | ||||||
|             "value": "", |  | ||||||
|             "info": "Register an application in Azure AD at https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade and set the Redirect URL to 'https://<your-domain>/auth/azuread.callback'.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Azure client secret", |  | ||||||
|             "key": "AZURE_CLIENT_SECRET", |  | ||||||
|             "value": "", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Azure resource app ID", |  | ||||||
|             "key": "AZURE_RESOURCE_APP_ID", |  | ||||||
|             "value": "", |  | ||||||
|             "info": "This is usually the same as the client ID, but can vary based on your Azure AD setup.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Discord client ID", |  | ||||||
|             "key": "DISCORD_CLIENT_ID", |  | ||||||
|             "value": "", |  | ||||||
|             "info": "Create an application in Discord Developer Portal at https://discord.com/developers/applications and set the Redirect URL to 'https://<your-domain>/auth/discord.callback'.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Discord client secret", |  | ||||||
|             "key": "DISCORD_CLIENT_SECRET", |  | ||||||
|             "value": "", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Discord server ID (optional)", |  | ||||||
|             "key": "DISCORD_SERVER_ID", |  | ||||||
|             "value": "", |  | ||||||
|             "info": "(Optional) If you want to restrict login to members of a specific Discord server, provide the server ID here.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "OpenID Connect client ID", |  | ||||||
|             "key": "OIDC_CLIENT_ID", |  | ||||||
|             "value": "", |  | ||||||
|             "info": "Set up an OpenID Connect application with your provider and set the Redirect URL to 'https://<your-domain>/auth/oidc.callback'.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "OpenID Connect client secret", |  | ||||||
|             "key": "OIDC_CLIENT_SECRET", |  | ||||||
|             "value": "", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "OpenID Connect provider auth URI", |  | ||||||
|             "key": "OIDC_AUTH_URI", |  | ||||||
|             "value": "", |  | ||||||
|             "info": "The authorization endpoint URL of your OpenID Connect provider.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "OpenID Connect provider token URI", |  | ||||||
|             "key": "OIDC_TOKEN_URI", |  | ||||||
|             "value": "", |  | ||||||
|             "info": "The token endpoint URL of your OpenID Connect provider.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "OpenID Connect provider userinfo URI", |  | ||||||
|             "key": "OIDC_USERINFO_URI", |  | ||||||
|             "value": "", |  | ||||||
|             "info": "The userinfo endpoint URL of your OpenID Connect provider.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "OpenID Connect provider logout URI (optional)", |  | ||||||
|             "key": "OIDC_LOGOUT_URI", |  | ||||||
|             "value": "", |  | ||||||
|             "info": "(Optional) The logout endpoint URL of your OpenID Connect provider, if supported.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "OpenID Connect username claim", |  | ||||||
|             "key": "OIDC_USERNAME_CLAIM", |  | ||||||
|             "value": "preferred_username", |  | ||||||
|             "info": "The claim in the ID token or userinfo response to use as the username. Defaults to 'preferred_username'.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "OpenID Connect display name", |  | ||||||
|             "key": "OIDC_DISPLAY_NAME", |  | ||||||
|             "value": "OpenID Connect", |  | ||||||
|             "info": "The display name for the OpenID Connect authentication option. Defaults to 'OpenID Connect'.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "OpenID Connect scopes", |  | ||||||
|             "key": "OIDC_SCOPES", |  | ||||||
|             "value": "openid profile email", |  | ||||||
|             "info": "Space-separated list of scopes to request during authentication. Defaults to 'openid profile email'.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "SMTP host", |  | ||||||
|             "key": "SMTP_HOST", |  | ||||||
|             "value": "", |  | ||||||
|             "info": "Used for sending invitation and password reset emails. Leave blank to disable email functionality.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "SMTP port", |  | ||||||
|             "key": "SMTP_PORT", |  | ||||||
|             "value": "587", |  | ||||||
|             "info": "(Optional) The port to connect to on the SMTP server. Defaults to 587.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "SMTP service (e.g., gmail)", |  | ||||||
|             "key": "SMTP_SERVICE", |  | ||||||
|             "value": "", |  | ||||||
|             "info": "Used for sending invitation and password reset emails. Leave blank to disable email functionality.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "SMTP username (email address)", |  | ||||||
|             "key": "SMTP_USERNAME", |  | ||||||
|             "value": "", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "SMTP password", |  | ||||||
|             "key": "SMTP_PASSWORD", |  | ||||||
|             "value": "", |  | ||||||
|             "advanced": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "From email address", |  | ||||||
|             "key": "SMTP_FROM_EMAIL", |  | ||||||
|             "value": "", |  | ||||||
|             "info": "(Optional) The email address that emails will be sent from. Defaults to the SMTP username if not set.", |  | ||||||
|             "advanced": "true" |  | ||||||
|         } |         } | ||||||
|     ] |     ] | ||||||
| } | } | ||||||
| @@ -1,60 +0,0 @@ | |||||||
| { |  | ||||||
|     "main": { |  | ||||||
|         "SERVICE_NAME": "pocketid", |  | ||||||
|         "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": "pocketid-app" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "PORT": "1411" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "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" |  | ||||||
|                 } |  | ||||||
|             ] |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
| @@ -1,75 +0,0 @@ | |||||||
| { |  | ||||||
|     "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": "pocketid-app" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TYPE": "udp" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TARGET_PORT": "53" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "COMMENT": "dns for pocketid-app" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--privileged --rm", |  | ||||||
|             "DEPEND": "null", |  | ||||||
|             "START_ON_BOOT": "false", |  | ||||||
|             "CMD": "null", |  | ||||||
|             "PRE_START": "null", |  | ||||||
|             "POST_START": "null" |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
| @@ -1,75 +0,0 @@ | |||||||
| { |  | ||||||
|     "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": "pocketid-app" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TARGET": "smtp" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TYPE": "tcp" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TARGET_PORT": "25" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "COMMENT": "smtp for pocketid-app" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--privileged --rm", |  | ||||||
|             "DEPEND": "null", |  | ||||||
|             "START_ON_BOOT": "false", |  | ||||||
|             "CMD": "null", |  | ||||||
|             "PRE_START": "null", |  | ||||||
|             "POST_START": "null" |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
| @@ -1,75 +0,0 @@ | |||||||
| { |  | ||||||
|     "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": "pocketid-app" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TYPE": "tcp" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "TARGET_PORT": "1411" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "COMMENT": "proxy for pocketid-app" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--privileged --rm", |  | ||||||
|             "DEPEND": "null", |  | ||||||
|             "START_ON_BOOT": "false", |  | ||||||
|             "CMD": "null", |  | ||||||
|             "PRE_START": "null", |  | ||||||
|             "POST_START": "null" |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
| @@ -1,16 +0,0 @@ | |||||||
| { |  | ||||||
|     "pocketidpostgres": { |  | ||||||
|         "POSTGRES_DB": "#POSTGRES_DB", |  | ||||||
|         "POSTGRES_USER": "#POSTGRES_USER", |  | ||||||
|         "POSTGRES_PASSWORD": "#POSTGRES_PASSWORD", |  | ||||||
|         "POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD" |  | ||||||
|     }, |  | ||||||
|     "pocketidapp": { |  | ||||||
|         "PUBLIC_APP_URL": "https://#DOMAIN", |  | ||||||
|         "TRUST_PROXY": "true", |  | ||||||
|         "PUID": "1000", |  | ||||||
|         "PGID": "1000", |  | ||||||
|         "DB_PROVIDER": "postgres", |  | ||||||
|         "DB_CONNECTION_STRING": "postgresql://#POSTGRES_USER:#POSTGRES_PASSWORD@pocketidpostgres-db:5432/#POSTGRES_DB" |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @@ -1,99 +0,0 @@ | |||||||
| { |  | ||||||
|     "main": { |  | ||||||
|         "SERVICE_NAME": "pocketid", |  | ||||||
|         "DOMAIN": "#DOMAIN" |  | ||||||
|     }, |  | ||||||
|     "containers": [ |  | ||||||
|         { |  | ||||||
|             "IMAGE": "alpine:latest", |  | ||||||
|             "UPDATE": "true", |  | ||||||
|             "NAME": "pocketid-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 /mkdir -p /etc/user/data/pocketid/db", |  | ||||||
|             "PRE_START": "null", |  | ||||||
|             "POST_START": "null" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "IMAGE": "postgres:16-alpine", |  | ||||||
|             "NAME": "pocketidpostgres-db", |  | ||||||
|             "UPDATE": "true", |  | ||||||
|             "ROLES": "postgres-db patroni", |  | ||||||
|             "MEMORY": "256M", |  | ||||||
|             "NETWORK": "pocketid-net", |  | ||||||
|             "SELECTOR": "pocketidpostgres-db", |  | ||||||
|             "VOLUMES": [ |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "/etc/user/data/pocketid/db", |  | ||||||
|                     "DEST": "/var/lib/postgresql/data", |  | ||||||
|                     "TYPE": "rw" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "PORTS": [ |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "null", |  | ||||||
|                     "DEST": "5432", |  | ||||||
|                     "TYPE": "tcp" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "ENV_FILES": [ |  | ||||||
|                 "/etc/user/secret/pocketid/pocketid.json" |  | ||||||
|             ], |  | ||||||
|             "ENVS": [ |  | ||||||
|                 { |  | ||||||
|                     "POSTGRES_INITDB_ARGS": "--encoding=UTF8 --locale=C" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--label logging=promtail_user --label logging_jobname=containers --restart unless-stopped", |  | ||||||
|             "DEPEND": "null", |  | ||||||
|             "START_ON_BOOT": "false", |  | ||||||
|             "CMD": "null", |  | ||||||
|             "PRE_START": [], |  | ||||||
|             "POST_START": [] |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "IMAGE": "11notes/pocket-id:1", |  | ||||||
|             "UPDATE": "true", |  | ||||||
|             "NAME": "pocketidapp", |  | ||||||
|             "DNS": [ |  | ||||||
|                 "coredns" |  | ||||||
|             ], |  | ||||||
|             "MEMORY": "256M", |  | ||||||
|             "SELECTOR": "pocketid-app", |  | ||||||
|             "NETWORK": "pocketid-net", |  | ||||||
|             "VOLUMES": [], |  | ||||||
|             "PORTS": [ |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "null", |  | ||||||
|                     "DEST": "1411", |  | ||||||
|                     "TYPE": "tcp" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "EXTRA": "--label logging=promtail_user --label logging_jobname=containers --restart unless-stopped", |  | ||||||
|             "ENV_FILES": [ |  | ||||||
|                 "/etc/user/secret/pocketid/pocketid.json" |  | ||||||
|             ], |  | ||||||
|             "DEPEND": [], |  | ||||||
|             "START_ON_BOOT": "true", |  | ||||||
|             "CMD": "null", |  | ||||||
|             "PRE_START": "null", |  | ||||||
|             "POST_START": [ |  | ||||||
|                 "firewall-pocketid", |  | ||||||
|                 "firewall-pocketid-dns", |  | ||||||
|                 "firewall-pocketid-smtp", |  | ||||||
|                 "domain-pocketid" |  | ||||||
|             ] |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
| @@ -1,43 +0,0 @@ | |||||||
| { |  | ||||||
|     "name": "Pocketid", |  | ||||||
|     "title": "PocketID", |  | ||||||
|     "subtitle": "Identity management", |  | ||||||
|     "icon": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCA1MCA1MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQzIDBIN0MzLjEzNDAxIDAgMCAzLjEzNDAxIDAgN1Y0M0MwIDQ2Ljg2NiAzLjEzNDAxIDUwIDcgNTBINDNDNDYuODY2IDUwIDUwIDQ2Ljg2NiA1MCA0M1Y3QzUwIDMuMTM0MDEgNDYuODY2IDAgNDMgMFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yNC40ODc4IDdDMzEuOTM4NCA3IDM4IDEzLjEzNjMgMzggMjAuNjc4N0MzOCAyMy42NDI2IDM3LjA3OSAyNi40NjMyIDM1LjMzNjIgMjguODM0MkMzMy42Mjc4IDMxLjE1OTUgMzEuMjkwMSAzMi44NDg2IDI4LjU3NTEgMzMuNzE5OEwyNy44MjQ3IDMzLjk2MUwyNi4wMzY0IDI1LjAzMTVMMjYuNTMxMSAyNC43ODkyQzI4LjE0NTkgMjMuOTk5IDI5LjE4OTYgMjIuMzE1NiAyOS4xODk2IDIwLjUwMTJDMjkuMTg5NiAxNy44NzY0IDI3LjA4MDUgMTUuNzQwOSAyNC40ODgxIDE1Ljc0MDlDMjEuODk1OCAxNS43NDA5IDE5Ljc4NiAxNy44NzY0IDE5Ljc4NiAyMC41MDEyQzE5Ljc4NiAyMi4zMTU2IDIwLjgzIDIzLjk5OSAyMi40NDQ4IDI0Ljc4OTJMMjIuOTMwMiAyNS4wMjcyTDIwLjA0OTUgNDNIMTJWN0gyNC40ODgxSDI0LjQ4NzhaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K", |  | ||||||
|     "description": "PocketID is an open-source identity and access management solution that provides secure and efficient user authentication and authorization for web applications and services.", |  | ||||||
|     "fields": [ |  | ||||||
|         { |  | ||||||
|             "description": "Domain", |  | ||||||
|             "key": "DOMAIN", |  | ||||||
|             "value": "", |  | ||||||
|             "required": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Postgres database name", |  | ||||||
|             "key": "POSTGRES_DB", |  | ||||||
|             "value": "", |  | ||||||
|             "required": "true", |  | ||||||
|             "generated": "" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Postgres username", |  | ||||||
|             "key": "POSTGRES_USER", |  | ||||||
|             "value": "", |  | ||||||
|             "required": "true", |  | ||||||
|             "generated": "time|md5|8" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Postgres password for user", |  | ||||||
|             "key": "POSTGRES_PASSWORD", |  | ||||||
|             "value": "", |  | ||||||
|             "required": "true", |  | ||||||
|             "generated": "random|md5|12" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Postgres root user password", |  | ||||||
|             "key": "POSTGRES_ROOT_PASSWORD", |  | ||||||
|             "value": "", |  | ||||||
|             "required": "true", |  | ||||||
|             "generated": "random|sha256|20" |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
							
								
								
									
										41
									
								
								roundcube/template.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								roundcube/template.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | |||||||
|  | { | ||||||
|  |         "name": "roundcube", | ||||||
|  |         "fields": [ | ||||||
|  |                 { | ||||||
|  |                         "description": "Please add IMAP HOST:", | ||||||
|  |                         "key": "ROUNDCUBE_IMAP_HOST", | ||||||
|  |                         "value": "", | ||||||
|  |                         "required": "true" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                         "description": "Please add IMAP PORT:", | ||||||
|  |                         "key": "ROUNDCUBE_IMAP_PORT", | ||||||
|  |                         "value": "143", | ||||||
|  |                         "required": "true" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                         "description": "Please add SMTP HOST:", | ||||||
|  |                         "key": "ROUNDCUBE_SMTP_HOST", | ||||||
|  |                         "value": "", | ||||||
|  |                         "required": "true" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                         "description": "Please add SMTP PORT (587, 465, 25, etc.):", | ||||||
|  |                         "key": "ROUNDCUBE_SMTP_PORT", | ||||||
|  |                         "value": "25", | ||||||
|  |                         "required": "true" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                         "description": "Please add UPLOAD_MAX_FILESIZE (default: 50M):", | ||||||
|  |                         "key": "ROUNDCUBE_UPLOAD", | ||||||
|  |                         "value": "50M", | ||||||
|  |                         "required": "true" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                         "description": "Please add Roundcube DOMAIN:", | ||||||
|  |                         "key": "ROUNDCUBE_DOMAIN", | ||||||
|  |                         "value": "", | ||||||
|  |                         "required": "true" | ||||||
|  |                 } | ||||||
|  |         ] | ||||||
|  | } | ||||||
| @@ -15,34 +15,44 @@ | |||||||
|                     "SOURCE": "USER_DATA", |                     "SOURCE": "USER_DATA", | ||||||
|                     "DEST": "/etc/user/data", |                     "DEST": "/etc/user/data", | ||||||
|                     "TYPE": "rw" |                     "TYPE": "rw" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                     "SOURCE": "SYSTEM_LOG", | ||||||
|  |                     "DEST": "/etc/system/log", | ||||||
|  |                     "TYPE": "rw" | ||||||
|                 } |                 } | ||||||
|             ], |             ], | ||||||
|             "EXTRA": "--rm", |             "EXTRA": "--rm", | ||||||
|             "DEPEND": "null", |             "DEPEND": "null", | ||||||
|             "START_ON_BOOT": "false", |             "START_ON_BOOT": "false", | ||||||
|             "ENTRYPOINT": "sh -c", |             "ENTRYPOINT": "sh -c", | ||||||
|             "CMD": "mkdir -p /etc/user/data/vaultwarden/data && mkdir -p /etc/user/data/vaultwarden/db", |             "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", |             "PRE_START": "null", | ||||||
|             "POST_START": "null" |             "POST_START": "null" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "IMAGE": "postgres:15-alpine", |             "IMAGE": "mariadb:latest", | ||||||
|             "UPDATE": "true", |             "UPDATE": "true", | ||||||
|             "NAME": "vaultwardenpostgres-db", |             "NAME": "vaultwardenmysql-db", | ||||||
|             "MEMORY": "256M", |             "MEMORY": "256M", | ||||||
|             "NETWORK": "vaultwarden-net", |             "NETWORK": "vaultwarden-net", | ||||||
|             "SELECTOR": "vaultwardenpostgres-db", |             "SELECTOR": "vaultwardenmysql-db", | ||||||
|             "VOLUMES": [ |             "VOLUMES": [ | ||||||
|                 { |                 { | ||||||
|                     "SOURCE": "/etc/user/data/vaultwarden/db", |                     "SOURCE": "/etc/user/data/vaultwarden/db", | ||||||
|                     "DEST": "/var/lib/postgres", |                     "DEST": "/var/lib/mysql", | ||||||
|  |                     "TYPE": "rw" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                     "SOURCE": "/etc/system/log/vaultwarden/db", | ||||||
|  |                     "DEST": "/var/lib/mysql/mysql-bin", | ||||||
|                     "TYPE": "rw" |                     "TYPE": "rw" | ||||||
|                 } |                 } | ||||||
|             ], |             ], | ||||||
|             "PORTS": [ |             "PORTS": [ | ||||||
|                 { |                 { | ||||||
|                     "SOURCE": "null", |                     "SOURCE": "null", | ||||||
|                     "DEST": "5432", |                     "DEST": "3306", | ||||||
|                     "TYPE": "tcp" |                     "TYPE": "tcp" | ||||||
|                 } |                 } | ||||||
|             ], |             ], | ||||||
|   | |||||||
| @@ -12,29 +12,29 @@ | |||||||
|             "required": "true" |             "required": "true" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "description": "Postgres database name", |             "description": "MYSQL database name", | ||||||
|             "key": "POSTGRES_DB", |             "key": "MARIADB_DATABASE", | ||||||
|             "value": "", |             "value": "", | ||||||
|             "required": "true", |             "required": "true", | ||||||
|             "generated": "" |             "generated": "" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "description": "Postgres username", |             "description": "MYSQL username", | ||||||
|             "key": "POSTGRES_USER", |             "key": "MARIADB_USER", | ||||||
|             "value": "", |             "value": "", | ||||||
|             "required": "true", |             "required": "true", | ||||||
|             "generated": "time|md5|8" |             "generated": "time|md5|8" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "description": "Postgres password for user", |             "description": "MYSQL password for user", | ||||||
|             "key": "POSTGRES_PASSWORD", |             "key": "MARIADB_PASSWORD", | ||||||
|             "value": "", |             "value": "", | ||||||
|             "required": "true", |             "required": "true", | ||||||
|             "generated": "random|md5|12" |             "generated": "random|md5|12" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "description": "Postgres root user password", |             "description": "MYSQL root user password", | ||||||
|             "key": "POSTGRES_ROOT_PASSWORD", |             "key": "MARIADB_ROOT_PASSWORD", | ||||||
|             "value": "", |             "value": "", | ||||||
|             "required": "true", |             "required": "true", | ||||||
|             "generated": "random|sha256|20" |             "generated": "random|sha256|20" | ||||||
|   | |||||||
| @@ -1,12 +1,12 @@ | |||||||
| { | { | ||||||
|     "vaultwardenpostgres": { |     "vaultwardenmysql": { | ||||||
|         "POSTGRES_DB": "#POSTGRES_DB", |         "MARIADB_DATABASE": "#MARIADB_DATABASE", | ||||||
|         "POSTGRES_USER": "#POSTGRES_USER", |         "MARIADB_USER": "#MARIADB_USER", | ||||||
|         "POSTGRES_PASSWORD": "#POSTGRES_PASSWORD", |         "MARIADB_PASSWORD": "#MARIADB_PASSWORD", | ||||||
|         "POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD" |         "MARIADB_ROOT_PASSWORD": "#MARIADB_ROOT_PASSWORD" | ||||||
|     }, |     }, | ||||||
|     "vaultwardenapp": { |     "vaultwardenapp": { | ||||||
|         "DATABASE_URL": "'postgresql://#POSTGRES_USER:#POSTGRES_PASSWORD@vaultwardenpostgres-db:5432/#POSTGRES_DB'", |         "DATABASE_URL": "'mysql://#MARIADB_USER:#MARIADB_PASSWORD@vaultwardenmysql-db:3306/#MARIADB_DATABASE'", | ||||||
|         "ADMIN_TOKEN": "#ADMIN_TOKEN", |         "ADMIN_TOKEN": "#ADMIN_TOKEN", | ||||||
|         "VAULTWARDEN_DOMAIN": "#VAULTWARDEN_DOMAIN", |         "VAULTWARDEN_DOMAIN": "#VAULTWARDEN_DOMAIN", | ||||||
|         "VAULTWARDEN_SMTP_PASSWORD": "#VAULTWARDEN_SMTP_PASSWORD" |         "VAULTWARDEN_SMTP_PASSWORD": "#VAULTWARDEN_SMTP_PASSWORD" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user