Compare commits
	
		
			46 Commits
		
	
	
		
			2f343b4b67
			...
			dev
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 2e5d817169 | |||
| 1af65aa421 | |||
|  | a7d40ec41a | ||
|  | 1af3c8ab1e | ||
|  | becd96416a | ||
|  | 09371f8b4b | ||
|  | 56e6e4e789 | ||
|  | f5130b0c57 | ||
|  | 1ef0fd1f5c | ||
|  | ca41276ecf | ||
|  | 7a2a4e90ed | ||
|  | 4bb61da615 | ||
|  | e3862bbeb7 | ||
|  | fc0197dcf1 | ||
|  | c30a5ceadb | ||
|  | fcc452af8a | ||
|  | daaa19d32a | ||
|  | 2129a7e8f9 | ||
|  | 22e37d90af | ||
|  | efd077e41a | ||
|  | 3fbdace533 | ||
|  | f065b4f6ce | ||
|  | 05f0a6d10f | ||
|  | 01ca5a196c | ||
|  | b5c693bc8b | ||
|  | 37e93e661d | ||
|  | 9c0932bdd4 | ||
|  | a8f4533991 | ||
|  | feace468dc | ||
|  | 4e19534cae | ||
|  | 5fd409e79c | ||
|  | 0e487b02c5 | ||
|  | 3f73d1e42d | ||
|  | 6d65026806 | ||
|  | 5aca166c34 | ||
|  | 70e144b7f8 | ||
|  | fd179866b2 | ||
|  | 46ff9e08cc | ||
|  | 5de24e19fe | ||
|  | d6fe96f2c7 | ||
|  | e62029bca4 | ||
|  | 31c72181b4 | ||
|  | 459ca0e019 | ||
|  | 324ad45ef3 | ||
|  | 4b91fa6f3f | ||
|  | f4f66398de | 
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| *tmp* | ||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										60
									
								
								gitea/domain-gitea.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								gitea/domain-gitea.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| { | ||||
|     "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" | ||||
|                 } | ||||
|             ] | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										76
									
								
								gitea/firewall-gitea-dns.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								gitea/firewall-gitea-dns.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,76 @@ | ||||
| { | ||||
|     "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": [] | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										75
									
								
								gitea/firewall-gitea-smtp.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								gitea/firewall-gitea-smtp.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,75 @@ | ||||
| { | ||||
|     "main": { | ||||
|         "SERVICE_NAME": "firewalls", | ||||
|         "DOMAIN": "null" | ||||
|     }, | ||||
|     "containers": [ | ||||
|         { | ||||
|             "IMAGE": "safebox/firewall", | ||||
|             "NAME": "firewall", | ||||
|             "MEMORY": "64M", | ||||
|             "NETWORK": "host", | ||||
|             "SCALE": "0", | ||||
|             "VOLUMES": [ | ||||
|                 { | ||||
|                     "SOURCE": "/run/", | ||||
|                     "DEST": "/run/", | ||||
|                     "TYPE": "rw" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/user/config/services", | ||||
|                     "DEST": "/services", | ||||
|                     "TYPE": "ro" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/system/data/dns/hosts.local", | ||||
|                     "DEST": "/etc/dns/hosts.local", | ||||
|                     "TYPE": "ro" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/var/run/docker.sock", | ||||
|                     "DEST": "/var/run/docker.sock", | ||||
|                     "TYPE": "rw" | ||||
|                 } | ||||
|             ], | ||||
|             "PORTS": [], | ||||
|             "READYNESS": [ | ||||
|                 { | ||||
|                     "tcp": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "HTTP": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "EXEC": "/ready.sh" | ||||
|                 } | ||||
|             ], | ||||
|             "ENVS": [ | ||||
|                 { | ||||
|                     "CHAIN": "DOCKER-USER" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "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" | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										75
									
								
								gitea/firewall-gitea.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								gitea/firewall-gitea.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,75 @@ | ||||
| { | ||||
|     "main": { | ||||
|         "SERVICE_NAME": "firewalls", | ||||
|         "DOMAIN": "null" | ||||
|     }, | ||||
|     "containers": [ | ||||
|         { | ||||
|             "IMAGE": "safebox/firewall", | ||||
|             "NAME": "firewall", | ||||
|             "MEMORY": "64M", | ||||
|             "NETWORK": "host", | ||||
|             "SCALE": "0", | ||||
|             "VOLUMES": [ | ||||
|                 { | ||||
|                     "SOURCE": "/run/", | ||||
|                     "DEST": "/run/", | ||||
|                     "TYPE": "rw" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/user/config/services", | ||||
|                     "DEST": "/services", | ||||
|                     "TYPE": "ro" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/system/data/dns/hosts.local", | ||||
|                     "DEST": "/etc/dns/hosts.local", | ||||
|                     "TYPE": "ro" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/var/run/docker.sock", | ||||
|                     "DEST": "/var/run/docker.sock", | ||||
|                     "TYPE": "rw" | ||||
|                 } | ||||
|             ], | ||||
|             "PORTS": [], | ||||
|             "READYNESS": [ | ||||
|                 { | ||||
|                     "tcp": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "HTTP": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "EXEC": "/ready.sh" | ||||
|                 } | ||||
|             ], | ||||
|             "ENVS": [ | ||||
|                 { | ||||
|                     "CHAIN": "DOCKER-USER" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "smarthostbackend" | ||||
|                 }, | ||||
|                 { | ||||
|                     "TARGET": "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" | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										22
									
								
								gitea/gitea-secret.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								gitea/gitea-secret.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| { | ||||
|     "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" | ||||
|     } | ||||
| } | ||||
							
								
								
									
										110
									
								
								gitea/service-gitea.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								gitea/service-gitea.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,110 @@ | ||||
| { | ||||
|     "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" | ||||
|             ] | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										87
									
								
								gitea/template.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								gitea/template.json
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -29,7 +29,7 @@ | ||||
|             "IMAGE": "tensorchord/pgvecto-rs:pg14-v0.2.0", | ||||
|             "UPDATE": "true", | ||||
|             "NAME": "immichpostgres-db", | ||||
|             "MEMORY": "512M", | ||||
|             "MEMORY": "768M", | ||||
|             "NETWORK": "immich-net", | ||||
|             "SELECTOR": "immichpostgres", | ||||
|             "VOLUMES": [ | ||||
| @@ -49,6 +49,11 @@ | ||||
|             "ENV_FILES": [ | ||||
|                 "/etc/user/secret/immich/immich.json" | ||||
|             ], | ||||
|             "ENVS": [ | ||||
|                 { | ||||
|                     "POSTGRES_INITDB_ARGS": "--data-checksums" | ||||
|                 } | ||||
|             ], | ||||
|             "EXTRA": "--restart always", | ||||
|             "DEPEND": "null", | ||||
|             "START_ON_BOOT": "false", | ||||
|   | ||||
| @@ -29,7 +29,7 @@ | ||||
|             "POST_START": "null" | ||||
|         }, | ||||
|         { | ||||
|             "IMAGE": "jellyfin/jellyfin:latest", | ||||
|             "IMAGE": "jellyfin/jellyfin:#VERSION", | ||||
|             "UPDATE": "true", | ||||
|             "NAME": "jellyfin", | ||||
|             "NETWORK": "host", | ||||
|   | ||||
| @@ -9,6 +9,13 @@ | ||||
|             "description": "Domain", | ||||
|             "key": "DOMAIN", | ||||
|             "value": "" | ||||
|         }, | ||||
|         { | ||||
|             "description": "Version", | ||||
|             "key": "VERSION", | ||||
|             "value": "2025081105", | ||||
|             "info": "Latest stable official version at the time of template creation.", | ||||
|             "advanced": "true" | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										63
									
								
								matrix/domain-matrix-admin.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								matrix/domain-matrix-admin.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| { | ||||
|     "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" | ||||
|                 } | ||||
|             ] | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										60
									
								
								matrix/domain-matrix.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								matrix/domain-matrix.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| { | ||||
|     "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" | ||||
|                 } | ||||
|             ] | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										75
									
								
								matrix/firewall-matrix-admin.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								matrix/firewall-matrix-admin.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,75 @@ | ||||
| { | ||||
|     "main": { | ||||
|         "SERVICE_NAME": "firewalls", | ||||
|         "DOMAIN": "null" | ||||
|     }, | ||||
|     "containers": [ | ||||
|         { | ||||
|             "IMAGE": "safebox/firewall", | ||||
|             "NAME": "firewall", | ||||
|             "MEMORY": "64M", | ||||
|             "NETWORK": "host", | ||||
|             "SCALE": "0", | ||||
|             "VOLUMES": [ | ||||
|                 { | ||||
|                     "SOURCE": "/run/", | ||||
|                     "DEST": "/run/", | ||||
|                     "TYPE": "rw" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/user/config/services", | ||||
|                     "DEST": "/services", | ||||
|                     "TYPE": "ro" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/system/data/dns/hosts.local", | ||||
|                     "DEST": "/etc/dns/hosts.local", | ||||
|                     "TYPE": "ro" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/var/run/docker.sock", | ||||
|                     "DEST": "/var/run/docker.sock", | ||||
|                     "TYPE": "rw" | ||||
|                 } | ||||
|             ], | ||||
|             "PORTS": [], | ||||
|             "READYNESS": [ | ||||
|                 { | ||||
|                     "tcp": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "HTTP": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "EXEC": "/ready.sh" | ||||
|                 } | ||||
|             ], | ||||
|             "ENVS": [ | ||||
|                 { | ||||
|                     "CHAIN": "DOCKER-USER" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "smarthostbackend" | ||||
|                 }, | ||||
|                 { | ||||
|                     "TARGET": "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" | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										76
									
								
								matrix/firewall-matrix-dns.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								matrix/firewall-matrix-dns.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,76 @@ | ||||
| { | ||||
|     "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": [] | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										75
									
								
								matrix/firewall-matrix-smtp.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								matrix/firewall-matrix-smtp.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,75 @@ | ||||
| { | ||||
|     "main": { | ||||
|         "SERVICE_NAME": "firewalls", | ||||
|         "DOMAIN": "null" | ||||
|     }, | ||||
|     "containers": [ | ||||
|         { | ||||
|             "IMAGE": "safebox/firewall", | ||||
|             "NAME": "firewall", | ||||
|             "MEMORY": "64M", | ||||
|             "NETWORK": "host", | ||||
|             "SCALE": "0", | ||||
|             "VOLUMES": [ | ||||
|                 { | ||||
|                     "SOURCE": "/run/", | ||||
|                     "DEST": "/run/", | ||||
|                     "TYPE": "rw" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/user/config/services", | ||||
|                     "DEST": "/services", | ||||
|                     "TYPE": "ro" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/system/data/dns/hosts.local", | ||||
|                     "DEST": "/etc/dns/hosts.local", | ||||
|                     "TYPE": "ro" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/var/run/docker.sock", | ||||
|                     "DEST": "/var/run/docker.sock", | ||||
|                     "TYPE": "rw" | ||||
|                 } | ||||
|             ], | ||||
|             "PORTS": [], | ||||
|             "READYNESS": [ | ||||
|                 { | ||||
|                     "tcp": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "HTTP": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "EXEC": "/ready.sh" | ||||
|                 } | ||||
|             ], | ||||
|             "ENVS": [ | ||||
|                 { | ||||
|                     "CHAIN": "DOCKER-USER" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "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" | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										75
									
								
								matrix/firewall-matrix.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								matrix/firewall-matrix.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,75 @@ | ||||
| { | ||||
|     "main": { | ||||
|         "SERVICE_NAME": "firewalls", | ||||
|         "DOMAIN": "null" | ||||
|     }, | ||||
|     "containers": [ | ||||
|         { | ||||
|             "IMAGE": "safebox/firewall", | ||||
|             "NAME": "firewall", | ||||
|             "MEMORY": "64M", | ||||
|             "NETWORK": "host", | ||||
|             "SCALE": "0", | ||||
|             "VOLUMES": [ | ||||
|                 { | ||||
|                     "SOURCE": "/run/", | ||||
|                     "DEST": "/run/", | ||||
|                     "TYPE": "rw" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/user/config/services", | ||||
|                     "DEST": "/services", | ||||
|                     "TYPE": "ro" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/system/data/dns/hosts.local", | ||||
|                     "DEST": "/etc/dns/hosts.local", | ||||
|                     "TYPE": "ro" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/var/run/docker.sock", | ||||
|                     "DEST": "/var/run/docker.sock", | ||||
|                     "TYPE": "rw" | ||||
|                 } | ||||
|             ], | ||||
|             "PORTS": [], | ||||
|             "READYNESS": [ | ||||
|                 { | ||||
|                     "tcp": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "HTTP": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "EXEC": "/ready.sh" | ||||
|                 } | ||||
|             ], | ||||
|             "ENVS": [ | ||||
|                 { | ||||
|                     "CHAIN": "DOCKER-USER" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "smarthostbackend" | ||||
|                 }, | ||||
|                 { | ||||
|                     "TARGET": "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" | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										29
									
								
								matrix/matrix-secret.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								matrix/matrix-secret.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| { | ||||
|     "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": { | ||||
|         "SERVICE_NAME": "matrix-server", | ||||
|         "SERVICE_NAME": "matrix", | ||||
|         "DOMAIN": "DOMAIN" | ||||
|     }, | ||||
|     "containers": [ | ||||
| @@ -15,16 +15,6 @@ | ||||
|                     "SOURCE": "USER_DATA", | ||||
|                     "DEST": "/etc/user/data", | ||||
|                     "TYPE": "rw" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "SYSTEM_DATA", | ||||
|                     "DEST": "/etc/system/data", | ||||
|                     "TYPE": "rw" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "SYSTEM_LOG", | ||||
|                     "DEST": "/etc/system/log", | ||||
|                     "TYPE": "rw" | ||||
|                 } | ||||
|             ], | ||||
|             "ENV_FILES": [ | ||||
| @@ -48,7 +38,7 @@ | ||||
|             "SELECTOR": "matrixpostgres-db", | ||||
|             "VOLUMES": [ | ||||
|                 { | ||||
|                     "SOURCE": "/etc/user/data/matrix/postgresql", | ||||
|                     "SOURCE": "/etc/user/data/matrix/db", | ||||
|                     "DEST": "/var/lib/postgresql/data", | ||||
|                     "TYPE": "rw" | ||||
|                 } | ||||
| @@ -65,7 +55,7 @@ | ||||
|             ], | ||||
|             "ENVS": [ | ||||
|                 { | ||||
|                     "POSTGRES_INITDB_ARGS": "--encoding=UTF8 --locale=C" | ||||
|                     "POSTGRES_INITDB_ARGS": "--encoding=UTF-8 --lc-collate=C --lc-ctype=C" | ||||
|                 } | ||||
|             ], | ||||
|             "EXTRA": "--restart unless-stopped", | ||||
| @@ -78,11 +68,10 @@ | ||||
|         { | ||||
|             "IMAGE": "matrixdotorg/synapse", | ||||
|             "UPDATE": "true", | ||||
|             "NAME": "matrixserver", | ||||
|             "NAME": "matrixserver-init", | ||||
|             "ROLES": "backend-www", | ||||
|             "MEMORY": "2048M", | ||||
|             "MEMORY": "512M", | ||||
|             "NETWORK": "matrix-net", | ||||
|             "SELECTOR": "matrixserver", | ||||
|             "VOLUMES": [ | ||||
|                 { | ||||
|                     "SOURCE": "/etc/user/data/matrix/synapse", | ||||
| @@ -90,11 +79,53 @@ | ||||
|                     "TYPE": "rw" | ||||
|                 } | ||||
|             ], | ||||
|             "PORTS": [ | ||||
|             "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": [] | ||||
|         }, | ||||
|         { | ||||
|                     "SOURCE": "null", | ||||
|                     "DEST": "8008", | ||||
|                     "TYPE": "tcp" | ||||
|             "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", | ||||
|             "SELECTOR": "matrixserver", | ||||
|             "VOLUMES": [ | ||||
|                 { | ||||
|                     "SOURCE": "/etc/user/data/matrix/synapse", | ||||
|                     "DEST": "/data", | ||||
|                     "TYPE": "rw" | ||||
|                 } | ||||
|             ], | ||||
|             "ENV_FILES": [ | ||||
| @@ -110,6 +141,34 @@ | ||||
|                 "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", | ||||
|             "UPDATE": "true", | ||||
| @@ -133,8 +192,7 @@ | ||||
|             "PRE_START": [], | ||||
|             "POST_START": [ | ||||
|                 "firewall-matrix-admin", | ||||
|                 "domain-matrix-admin", | ||||
|                 "domain-matrix-adminweb" | ||||
|                 "domain-matrix-admin" | ||||
|             ] | ||||
|         } | ||||
|     ] | ||||
|   | ||||
							
								
								
									
										69
									
								
								matrix/template.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								matrix/template.json
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -1,7 +1,7 @@ | ||||
|  { | ||||
| { | ||||
|     "main": { | ||||
|         "SERVICE_NAME": "nextcloud", | ||||
|       "DOMAIN": "#NEXTCLOUD_TRUSTED_DOMAINS" | ||||
|         "DOMAIN": "#DOMAIN" | ||||
|     }, | ||||
|     "containers": [ | ||||
|         { | ||||
| @@ -19,12 +19,24 @@ | ||||
|             "POST_START": [], | ||||
|             "CMD": "", | ||||
|             "ENVS": [ | ||||
|           { "PROXY": "smarthostloadbalancer" }, | ||||
|           { "TARGET": "nextcloudnginx" }, | ||||
|           { "PORT": "80" }, | ||||
|           { "DOMAIN": "#NEXTCLOUD_TRUSTED_DOMAINS" }, | ||||
|           { "SMARTHOST_PROXY_PATH": "/smarthost-domains" }, | ||||
| 	        { "OPERATION": "CREATE" } | ||||
|                 { | ||||
|                     "PROXY": "smarthostloadbalancer" | ||||
|                 }, | ||||
|                 { | ||||
|                     "TARGET": "nextcloudnginx" | ||||
|                 }, | ||||
|                 { | ||||
|                     "PORT": "80" | ||||
|                 }, | ||||
|                 { | ||||
|                     "DOMAIN": "#DOMAIN" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SMARTHOST_PROXY_PATH": "/smarthost-domains" | ||||
|                 }, | ||||
|                 { | ||||
|                     "OPERATION": "CREATE" | ||||
|                 } | ||||
|             ], | ||||
|             "VOLUMES": [ | ||||
|                 { | ||||
|   | ||||
| @@ -1,20 +1,20 @@ | ||||
| { | ||||
|     "nextcloudmysql": { | ||||
|         "MARIADB_DATABASE": "#MARIADB_DATABASE", | ||||
|         "MARIADB_USER": "#MARIADB_USER", | ||||
|         "MARIADB_PASSWORD": "#MARIADB_PASSWORD", | ||||
|         "MARIADB_ROOT_PASSWORD": "#MARIADB_ROOT_PASSWORD" | ||||
|     "nextcloudpostgres": { | ||||
|         "POSTGRES_DB": "#POSTGRES_DB", | ||||
|         "POSTGRES_USER": "#POSTGRES_USER", | ||||
|         "POSTGRES_PASSWORD": "#POSTGRES_PASSWORD", | ||||
|         "POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD" | ||||
|     }, | ||||
|     "nextcloudphp": { | ||||
|         "NEXTCLOUD_ADMIN_USER": "#NEXTCLOUD_ADMIN_USER", | ||||
|         "NEXTCLOUD_ADMIN_PASSWORD": "#NEXTCLOUD_ADMIN_PASSWORD", | ||||
|         "NEXTCLOUD_TRUSTED_DOMAINS": "#NEXTCLOUD_TRUSTED_DOMAINS", | ||||
|         "OVERWRITEHOST": "#NEXTCLOUD_TRUSTED_DOMAINS", | ||||
|         "DOMAIN": "#DOMAIN", | ||||
|         "OVERWRITEHOST": "#DOMAIN", | ||||
|         "NEXTCLOUD_DATA_DIR": "/var/data", | ||||
|         "MYSQL_DATABASE": "#MARIADB_DATABASE", | ||||
|         "MYSQL_USER": "#MARIADB_USER", | ||||
|         "MYSQL_PASSWORD": "#MARIADB_PASSWORD", | ||||
|         "MYSQL_HOST": "nextcloudmysql-db", | ||||
|         "POSTGRES_DB": "#POSTGRES_DB", | ||||
|         "POSTGRES_USER": "#POSTGRES_USER", | ||||
|         "POSTGRES_PASSWORD": "#POSTGRES_PASSWORD", | ||||
|         "POSTGRES_HOST": "nextcloudpostgres-db", | ||||
|         "REDIS_HOST": "nextcloud-redis" | ||||
|     } | ||||
| } | ||||
| @@ -34,47 +34,31 @@ | ||||
|             "DEPEND": "null", | ||||
|             "START_ON_BOOT": "false", | ||||
|             "ENTRYPOINT": "sh -c", | ||||
|             "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", | ||||
|             "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", | ||||
|             "PRE_START": "null", | ||||
|             "POST_START": "null" | ||||
|         }, | ||||
|         { | ||||
|             "IMAGE": "mariadb:10.5", | ||||
|             "IMAGE": "postgres:15-alpine", | ||||
|             "UPDATE": "true", | ||||
|             "NAME": "nextcloudmysql-db", | ||||
|             "NAME": "nextcloudpostgres-db", | ||||
|             "MEMORY": "256M", | ||||
|             "NETWORK": "nextcloud-net", | ||||
|             "SELECTOR": "nextcloudmysql", | ||||
|             "SELECTOR": "nextcloudpostgres", | ||||
|             "VOLUMES": [ | ||||
|                 { | ||||
|                     "SOURCE": "/etc/user/data/nextcloud/db", | ||||
|                     "DEST": "/var/lib/mysql", | ||||
|                     "TYPE": "rw" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/system/log/nextcloud/db", | ||||
|                     "DEST": "/var/lib/mysql/mysql-bin", | ||||
|                     "DEST": "/var/lib/postgres", | ||||
|                     "TYPE": "rw" | ||||
|                 } | ||||
|             ], | ||||
|             "PORTS": [ | ||||
|                 { | ||||
|                     "SOURCE": "null", | ||||
|                     "DEST": "3306", | ||||
|                     "DEST": "5432", | ||||
|                     "TYPE": "tcp" | ||||
|                 } | ||||
|             ], | ||||
|             "READYNESS": [ | ||||
|                 { | ||||
|                     "tcp": "3306" | ||||
|                 }, | ||||
|                 { | ||||
|                     "HTTP": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "EXEC": "/ready.sh" | ||||
|                 } | ||||
|             ], | ||||
|             "ENV_FILES": [ | ||||
|                 "/etc/user/secret/nextcloud/nextcloud.json" | ||||
|             ], | ||||
| @@ -182,7 +166,7 @@ | ||||
|             ] | ||||
|         }, | ||||
|         { | ||||
|             "IMAGE": "registry.format.hu/nextcloud-nginx:1.23.1", | ||||
|             "IMAGE": "safebox/nextcloud-nginx:latest", | ||||
|             "UPDATE": "true", | ||||
|             "NAME": "nextcloudnginx", | ||||
|             "ROLES": "backend-www", | ||||
|   | ||||
| @@ -8,15 +8,13 @@ | ||||
|         { | ||||
|             "title": "", | ||||
|             "details": "", | ||||
|             "info": "Nextcloud domain info", | ||||
|             "description": "Domain", | ||||
|             "key": "NEXTCLOUD_TRUSTED_DOMAINS", | ||||
|             "key": "DOMAIN", | ||||
|             "value": "", | ||||
|             "required": "true" | ||||
|         }, | ||||
|         { | ||||
|             "details": "", | ||||
|             "info": "Nextcloud user name info", | ||||
|             "description": "Username", | ||||
|             "key": "NEXTCLOUD_ADMIN_USER", | ||||
|             "value": "", | ||||
| @@ -32,34 +30,34 @@ | ||||
|         { | ||||
|             "description": "Version", | ||||
|             "key": "VERSION", | ||||
|             "value": "26.0.13-fpm-alpine", | ||||
|             "value": "31.0.8-fpm-alpine", | ||||
|             "info": "Please keep in mind you can't upgrade major version without skipping a version!", | ||||
|             "advanced": "true" | ||||
|         }, | ||||
|         { | ||||
|             "description": "MYSQL database name", | ||||
|             "key": "MARIADB_DATABASE", | ||||
|             "description": "Postgres database name", | ||||
|             "key": "POSTGRES_DB", | ||||
|             "value": "", | ||||
|             "required": "true", | ||||
|             "generated": "time|md5|8" | ||||
|         }, | ||||
|         { | ||||
|             "description": "MYSQL username", | ||||
|             "key": "MARIADB_USER", | ||||
|             "description": "Postgres username", | ||||
|             "key": "POSTGRES_USER", | ||||
|             "value": "", | ||||
|             "required": "true", | ||||
|             "generated": "time|md5|8" | ||||
|         }, | ||||
|         { | ||||
|             "description": "MYSQL password for user", | ||||
|             "key": "MARIADB_PASSWORD", | ||||
|             "description": "Postgres password for user", | ||||
|             "key": "POSTGRES_PASSWORD", | ||||
|             "value": "", | ||||
|             "required": "true", | ||||
|             "generated": "random|md5|12" | ||||
|         }, | ||||
|         { | ||||
|             "description": "MYSQL root user password", | ||||
|             "key": "MARIADB_ROOT_PASSWORD", | ||||
|             "description": "Postgres root user password", | ||||
|             "key": "POSTGRES_ROOT_PASSWORD", | ||||
|             "value": "", | ||||
|             "required": "true", | ||||
|             "generated": "random|sha256|20" | ||||
|   | ||||
| @@ -7,6 +7,31 @@ | ||||
|     "outlineapp": { | ||||
|         "SECRET_KEY": "#SECRET_KEY", | ||||
|         "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": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "REDIS_URL": "redis://outlineredis-app:6379" | ||||
|                     "REDIS_URL": "redis://outlineredis-server:6379" | ||||
|                 }, | ||||
|                 { | ||||
|                     "URL": "https://#OUTLINE_DOMAIN" | ||||
|                     "URL": "https://#DOMAIN" | ||||
|                 }, | ||||
|                 { | ||||
|                     "PORT": 3000 | ||||
|   | ||||
| @@ -52,6 +52,174 @@ | ||||
|             "key": "DOMAIN", | ||||
|             "value": "", | ||||
|             "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" | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										60
									
								
								pocketid/domain-pocketid.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								pocketid/domain-pocketid.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| { | ||||
|     "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" | ||||
|                 } | ||||
|             ] | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										75
									
								
								pocketid/firewall-pocketid-dns.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								pocketid/firewall-pocketid-dns.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,75 @@ | ||||
| { | ||||
|     "main": { | ||||
|         "SERVICE_NAME": "firewalls", | ||||
|         "DOMAIN": "null" | ||||
|     }, | ||||
|     "containers": [ | ||||
|         { | ||||
|             "IMAGE": "safebox/firewall", | ||||
|             "NAME": "firewall", | ||||
|             "MEMORY": "64M", | ||||
|             "NETWORK": "host", | ||||
|             "SCALE": "0", | ||||
|             "VOLUMES": [ | ||||
|                 { | ||||
|                     "SOURCE": "/run/", | ||||
|                     "DEST": "/run/", | ||||
|                     "TYPE": "rw" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/user/config/services", | ||||
|                     "DEST": "/services", | ||||
|                     "TYPE": "ro" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/system/data/dns/hosts.local", | ||||
|                     "DEST": "/etc/dns/hosts.local", | ||||
|                     "TYPE": "ro" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/var/run/docker.sock", | ||||
|                     "DEST": "/var/run/docker.sock", | ||||
|                     "TYPE": "rw" | ||||
|                 } | ||||
|             ], | ||||
|             "PORTS": [], | ||||
|             "READYNESS": [ | ||||
|                 { | ||||
|                     "tcp": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "HTTP": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "EXEC": "/ready.sh" | ||||
|                 } | ||||
|             ], | ||||
|             "ENVS": [ | ||||
|                 { | ||||
|                     "CHAIN": "DOCKER-USER" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "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" | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										75
									
								
								pocketid/firewall-pocketid-smtp.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								pocketid/firewall-pocketid-smtp.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,75 @@ | ||||
| { | ||||
|     "main": { | ||||
|         "SERVICE_NAME": "firewalls", | ||||
|         "DOMAIN": "null" | ||||
|     }, | ||||
|     "containers": [ | ||||
|         { | ||||
|             "IMAGE": "safebox/firewall", | ||||
|             "NAME": "firewall", | ||||
|             "MEMORY": "64M", | ||||
|             "NETWORK": "host", | ||||
|             "SCALE": "0", | ||||
|             "VOLUMES": [ | ||||
|                 { | ||||
|                     "SOURCE": "/run/", | ||||
|                     "DEST": "/run/", | ||||
|                     "TYPE": "rw" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/user/config/services", | ||||
|                     "DEST": "/services", | ||||
|                     "TYPE": "ro" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/system/data/dns/hosts.local", | ||||
|                     "DEST": "/etc/dns/hosts.local", | ||||
|                     "TYPE": "ro" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/var/run/docker.sock", | ||||
|                     "DEST": "/var/run/docker.sock", | ||||
|                     "TYPE": "rw" | ||||
|                 } | ||||
|             ], | ||||
|             "PORTS": [], | ||||
|             "READYNESS": [ | ||||
|                 { | ||||
|                     "tcp": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "HTTP": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "EXEC": "/ready.sh" | ||||
|                 } | ||||
|             ], | ||||
|             "ENVS": [ | ||||
|                 { | ||||
|                     "CHAIN": "DOCKER-USER" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "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" | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										75
									
								
								pocketid/firewall-pocketid.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								pocketid/firewall-pocketid.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,75 @@ | ||||
| { | ||||
|     "main": { | ||||
|         "SERVICE_NAME": "firewalls", | ||||
|         "DOMAIN": "null" | ||||
|     }, | ||||
|     "containers": [ | ||||
|         { | ||||
|             "IMAGE": "safebox/firewall", | ||||
|             "NAME": "firewall", | ||||
|             "MEMORY": "64M", | ||||
|             "NETWORK": "host", | ||||
|             "SCALE": "0", | ||||
|             "VOLUMES": [ | ||||
|                 { | ||||
|                     "SOURCE": "/run/", | ||||
|                     "DEST": "/run/", | ||||
|                     "TYPE": "rw" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/user/config/services", | ||||
|                     "DEST": "/services", | ||||
|                     "TYPE": "ro" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/system/data/dns/hosts.local", | ||||
|                     "DEST": "/etc/dns/hosts.local", | ||||
|                     "TYPE": "ro" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/var/run/docker.sock", | ||||
|                     "DEST": "/var/run/docker.sock", | ||||
|                     "TYPE": "rw" | ||||
|                 } | ||||
|             ], | ||||
|             "PORTS": [], | ||||
|             "READYNESS": [ | ||||
|                 { | ||||
|                     "tcp": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "HTTP": "" | ||||
|                 }, | ||||
|                 { | ||||
|                     "EXEC": "/ready.sh" | ||||
|                 } | ||||
|             ], | ||||
|             "ENVS": [ | ||||
|                 { | ||||
|                     "CHAIN": "DOCKER-USER" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "smarthostbackend" | ||||
|                 }, | ||||
|                 { | ||||
|                     "TARGET": "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" | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										16
									
								
								pocketid/pocketid-secret.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								pocketid/pocketid-secret.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| { | ||||
|     "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" | ||||
|     } | ||||
| } | ||||
							
								
								
									
										99
									
								
								pocketid/service-pocketid.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								pocketid/service-pocketid.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,99 @@ | ||||
| { | ||||
|     "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" | ||||
|             ] | ||||
|         } | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										43
									
								
								pocketid/template.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								pocketid/template.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| { | ||||
|     "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" | ||||
|         } | ||||
|     ] | ||||
| } | ||||
| @@ -1,41 +0,0 @@ | ||||
| { | ||||
|         "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,44 +15,34 @@ | ||||
|                     "SOURCE": "USER_DATA", | ||||
|                     "DEST": "/etc/user/data", | ||||
|                     "TYPE": "rw" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "SYSTEM_LOG", | ||||
|                     "DEST": "/etc/system/log", | ||||
|                     "TYPE": "rw" | ||||
|                 } | ||||
|             ], | ||||
|             "EXTRA": "--rm", | ||||
|             "DEPEND": "null", | ||||
|             "START_ON_BOOT": "false", | ||||
|             "ENTRYPOINT": "sh -c", | ||||
|             "CMD": "mkdir -p /etc/user/data/vaultwarden/data && mkdir -p /etc/user/data/vaultwarden/db && mkdir -p /etc/system/log/vaultwarden/db", | ||||
|             "CMD": "mkdir -p /etc/user/data/vaultwarden/data && mkdir -p /etc/user/data/vaultwarden/db", | ||||
|             "PRE_START": "null", | ||||
|             "POST_START": "null" | ||||
|         }, | ||||
|         { | ||||
|             "IMAGE": "mariadb:latest", | ||||
|             "IMAGE": "postgres:15-alpine", | ||||
|             "UPDATE": "true", | ||||
|             "NAME": "vaultwardenmysql-db", | ||||
|             "NAME": "vaultwardenpostgres-db", | ||||
|             "MEMORY": "256M", | ||||
|             "NETWORK": "vaultwarden-net", | ||||
|             "SELECTOR": "vaultwardenmysql-db", | ||||
|             "SELECTOR": "vaultwardenpostgres-db", | ||||
|             "VOLUMES": [ | ||||
|                 { | ||||
|                     "SOURCE": "/etc/user/data/vaultwarden/db", | ||||
|                     "DEST": "/var/lib/mysql", | ||||
|                     "TYPE": "rw" | ||||
|                 }, | ||||
|                 { | ||||
|                     "SOURCE": "/etc/system/log/vaultwarden/db", | ||||
|                     "DEST": "/var/lib/mysql/mysql-bin", | ||||
|                     "DEST": "/var/lib/postgres", | ||||
|                     "TYPE": "rw" | ||||
|                 } | ||||
|             ], | ||||
|             "PORTS": [ | ||||
|                 { | ||||
|                     "SOURCE": "null", | ||||
|                     "DEST": "3306", | ||||
|                     "DEST": "5432", | ||||
|                     "TYPE": "tcp" | ||||
|                 } | ||||
|             ], | ||||
|   | ||||
| @@ -12,29 +12,29 @@ | ||||
|             "required": "true" | ||||
|         }, | ||||
|         { | ||||
|             "description": "MYSQL database name", | ||||
|             "key": "MARIADB_DATABASE", | ||||
|             "description": "Postgres database name", | ||||
|             "key": "POSTGRES_DB", | ||||
|             "value": "", | ||||
|             "required": "true", | ||||
|             "generated": "" | ||||
|         }, | ||||
|         { | ||||
|             "description": "MYSQL username", | ||||
|             "key": "MARIADB_USER", | ||||
|             "description": "Postgres username", | ||||
|             "key": "POSTGRES_USER", | ||||
|             "value": "", | ||||
|             "required": "true", | ||||
|             "generated": "time|md5|8" | ||||
|         }, | ||||
|         { | ||||
|             "description": "MYSQL password for user", | ||||
|             "key": "MARIADB_PASSWORD", | ||||
|             "description": "Postgres password for user", | ||||
|             "key": "POSTGRES_PASSWORD", | ||||
|             "value": "", | ||||
|             "required": "true", | ||||
|             "generated": "random|md5|12" | ||||
|         }, | ||||
|         { | ||||
|             "description": "MYSQL root user password", | ||||
|             "key": "MARIADB_ROOT_PASSWORD", | ||||
|             "description": "Postgres root user password", | ||||
|             "key": "POSTGRES_ROOT_PASSWORD", | ||||
|             "value": "", | ||||
|             "required": "true", | ||||
|             "generated": "random|sha256|20" | ||||
|   | ||||
| @@ -1,12 +1,12 @@ | ||||
| { | ||||
|     "vaultwardenmysql": { | ||||
|         "MARIADB_DATABASE": "#MARIADB_DATABASE", | ||||
|         "MARIADB_USER": "#MARIADB_USER", | ||||
|         "MARIADB_PASSWORD": "#MARIADB_PASSWORD", | ||||
|         "MARIADB_ROOT_PASSWORD": "#MARIADB_ROOT_PASSWORD" | ||||
|     "vaultwardenpostgres": { | ||||
|         "POSTGRES_DB": "#POSTGRES_DB", | ||||
|         "POSTGRES_USER": "#POSTGRES_USER", | ||||
|         "POSTGRES_PASSWORD": "#POSTGRES_PASSWORD", | ||||
|         "POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD" | ||||
|     }, | ||||
|     "vaultwardenapp": { | ||||
|         "DATABASE_URL": "'mysql://#MARIADB_USER:#MARIADB_PASSWORD@vaultwardenmysql-db:3306/#MARIADB_DATABASE'", | ||||
|         "DATABASE_URL": "'postgresql://#POSTGRES_USER:#POSTGRES_PASSWORD@vaultwardenpostgres-db:5432/#POSTGRES_DB'", | ||||
|         "ADMIN_TOKEN": "#ADMIN_TOKEN", | ||||
|         "VAULTWARDEN_DOMAIN": "#VAULTWARDEN_DOMAIN", | ||||
|         "VAULTWARDEN_SMTP_PASSWORD": "#VAULTWARDEN_SMTP_PASSWORD" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user