Compare commits
	
		
			173 Commits
		
	
	
		
			9103bf7e95
			...
			main
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| bab3104519 | |||
| 2e5d817169 | |||
| 40efb47737 | |||
| 1af65aa421 | |||
| 82a2bab55e | |||
|  | a7d40ec41a | ||
| 680f6d5822 | |||
|  | 1af3c8ab1e | ||
| 37e7b83077 | |||
|  | becd96416a | ||
|  | 09371f8b4b | ||
| d723b4daf5 | |||
|  | 56e6e4e789 | ||
| 366fa1d6b8 | |||
|  | f5130b0c57 | ||
| 082ae8fcf8 | |||
|  | 1ef0fd1f5c | ||
| 984a61d036 | |||
|  | ca41276ecf | ||
| 08c4e49d82 | |||
|  | 7a2a4e90ed | ||
| b232e22427 | |||
|  | 4bb61da615 | ||
| 2649856b30 | |||
|  | e3862bbeb7 | ||
| bf944dee1b | |||
|  | fc0197dcf1 | ||
| bc26466fab | |||
|  | c30a5ceadb | ||
| 24b9f416b5 | |||
|  | fcc452af8a | ||
| 5598cd2e4e | |||
|  | daaa19d32a | ||
| a860503297 | |||
|  | 2129a7e8f9 | ||
| aecfab545d | |||
|  | 22e37d90af | ||
| cf27b29d98 | |||
|  | efd077e41a | ||
| 234f2b8379 | |||
|  | 3fbdace533 | ||
| 858ddb310a | |||
|  | f065b4f6ce | ||
| c48ee36943 | |||
|  | 05f0a6d10f | ||
| b6bf808328 | |||
|  | 01ca5a196c | ||
| 73419aeff8 | |||
|  | b5c693bc8b | ||
| 6bf99e7a1a | |||
|  | 37e93e661d | ||
| d46cc3e801 | |||
|  | 9c0932bdd4 | ||
| 885d896777 | |||
|  | a8f4533991 | ||
| 49491e3116 | |||
|  | feace468dc | ||
| 00d3f23702 | |||
|  | 4e19534cae | ||
|  | 5fd409e79c | ||
|  | 0e487b02c5 | ||
| 7019222a22 | |||
|  | 3f73d1e42d | ||
| 927d7e669e | |||
|  | 6d65026806 | ||
| 892e05fb60 | |||
|  | 5aca166c34 | ||
| ea7ee3aec9 | |||
|  | 70e144b7f8 | ||
| 23501f7760 | |||
|  | fd179866b2 | ||
| ecc21d1639 | |||
|  | 46ff9e08cc | ||
|  | 5de24e19fe | ||
| d64872f85e | |||
|  | d6fe96f2c7 | ||
|  | e62029bca4 | ||
| e928cca06a | |||
|  | 31c72181b4 | ||
| a0cced089b | |||
|  | 459ca0e019 | ||
| e43b20a94c | |||
|  | 324ad45ef3 | ||
| ac7c52def1 | |||
|  | 4b91fa6f3f | ||
| f26a4d60d9 | |||
|  | f4f66398de | ||
| 2f343b4b67 | |||
|  | b07b6c7800 | ||
| fe5b98391b | |||
| d9c3d3f6c1 | |||
| 9827a6bd85 | |||
| a49f5baa13 | |||
| 9fe2be7b26 | |||
|  | 2a6f54d65e | ||
| 48a20f2681 | |||
|  | b8ac9eb0ef | ||
|  | 8e61ae53e3 | ||
|  | fbb8934b2d | ||
| db6a375c5e | |||
|  | 88ae6dd365 | ||
| 7eda10b29d | |||
| cc76e60006 | |||
| 5d1297571b | |||
| f2f97551d2 | |||
| 3f2960628c | |||
|  | 9bf8622848 | ||
|  | 92fbb27e80 | ||
|  | ea7bec4dfc | ||
|  | 90e071dc3a | ||
|  | 0fd3ca5619 | ||
|  | 62da50fde4 | ||
| db451f42bd | |||
|  | f138652ea0 | ||
|  | 998be9eb47 | ||
| 064ad0286c | |||
| 2355be9a77 | |||
|  | fa477d5dd3 | ||
|  | dde0657742 | ||
|  | cc9ac4842d | ||
|  | f62c9164ca | ||
|  | 5bd17e388f | ||
| 36d0cee2d6 | |||
|  | 141fc5e27d | ||
|  | 82ff8f5d09 | ||
|  | 42177acc46 | ||
|  | d645602e3e | ||
|  | 267d4877eb | ||
|  | 2ebfd5c271 | ||
| d5dd3452ec | |||
| d34446f4c3 | |||
| 7b8db6df36 | |||
|  | 0be8505daa | ||
| 0d90f06924 | |||
| ae307d0e69 | |||
|  | ae91eb2295 | ||
|  | 48756ecb6f | ||
| 8792847214 | |||
| 57ef0b4c31 | |||
| 13d2abb6ca | |||
|  | d85ae5a86d | ||
| 2f06e68a49 | |||
| 8854fec3e1 | |||
| c43a84b5b3 | |||
| 0eb8444a56 | |||
| 74f0c57dda | |||
| 6275cada60 | |||
| 8b082fa0dc | |||
| cbfb59b600 | |||
| b002355bc2 | |||
| 19e4624fff | |||
|  | dcc5d6b969 | ||
|  | cf828687a2 | ||
|  | d6ffd65d40 | ||
| 95547d3bea | |||
| a089017add | |||
| f9bee3dbc3 | |||
| ed4d0a4009 | |||
| 7361704458 | |||
| 5995774c92 | |||
| 71899a308d | |||
| 62c620b3ee | |||
| 420489c7a0 | |||
| d94cf9db2c | |||
| 8d6b4ac21d | |||
| ca6a87d10b | |||
| 4cff7cc9ef | |||
| 292b43d721 | |||
| b0e315eb48 | |||
| d00a4c2cbf | |||
| 1b9a6c4f03 | |||
| 36f2a5b592 | |||
| 81d788dd6c | 
							
								
								
									
										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
											
										
									
								
							| @@ -21,7 +21,7 @@ | |||||||
|             "DEPEND": "null", |             "DEPEND": "null", | ||||||
|             "START_ON_BOOT": "false", |             "START_ON_BOOT": "false", | ||||||
|             "ENTRYPOINT": "sh -c", |             "ENTRYPOINT": "sh -c", | ||||||
|             "CMD": "mkdir -p /etc/user/data/jellyfin/media && mkdir -p /etc/user/data/transmission/downloads/complete", |             "CMD": "mkdir -p /etc/user/data/jellyfin/media && chown -R 1000:1000 /etc/user/data/jellyfin/media && mkdir -p /etc/user/data/transmission/downloads/complete", | ||||||
|             "PRE_START": "null", |             "PRE_START": "null", | ||||||
|             "POST_START": "null" |             "POST_START": "null" | ||||||
|         }, |         }, | ||||||
| @@ -61,7 +61,7 @@ | |||||||
|             "DEPEND": [], |             "DEPEND": [], | ||||||
|             "START_ON_BOOT": "false", |             "START_ON_BOOT": "false", | ||||||
|             "ENTRYPOINT": "sh", |             "ENTRYPOINT": "sh", | ||||||
|             "CMD": "if [ ! -f /database.db ]; then /filebrowser config init && /filebrowser users add \"$FILEBROWSER_USER\" \"$FILEBROWSER_PASS\" --perm.admin && /filebrowser ; else /filebrowser ; fi", |             "CMD": "if [ ! -f /database/filebrowser.db ]; then cd /database ; /bin/filebrowser config init && /bin/filebrowser users add \"$FILEBROWSER_USER\" \"$FILEBROWSER_PASS\" --perm.admin && /init.sh; else /init.sh ; fi", | ||||||
|             "PRE_START": "null", |             "PRE_START": "null", | ||||||
|             "POST_START": [ |             "POST_START": [ | ||||||
|                 "firewall-filebrowser", |                 "firewall-filebrowser", | ||||||
|   | |||||||
										
											
												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
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -1,15 +1,18 @@ | |||||||
| { | { | ||||||
|     "name": "homeassistant", |     "name": "Homeassistant", | ||||||
|     "description": "Home Assistant lets you automate, control, and monitor smart home devices securely from a single interface.", |     "subtitle": "Smart Home", | ||||||
|  |     "title": "Home Assistant", | ||||||
|  |     "icon": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCA1MCA1MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUwIDQ2Ljc5MTZDNTAgNDguNTU2MiA0OC41OTM3IDUwIDQ2Ljg3NSA1MEgzLjEyNUMxLjQwNjI1IDUwIDAgNDguNTU2MiAwIDQ2Ljc5MTZWMjcuNTQxM0MwIDI1Ljc3NjYgMC45OTM3NSAyMy4zMTI4IDIuMjEwNDIgMjIuMDYzN0wyMi43ODk2IDAuOTM1MjQ2QzI0LjAwNDIgLTAuMzExNzQ5IDI1Ljk5MzggLTAuMzExNzQ5IDI3LjIwODMgMC45MzUyNDZMNDcuNzg5NiAyMi4wNjU2QzQ5LjAwNDIgMjMuMzEyNiA1MCAyNS43Nzg4IDUwIDI3LjU0MzRWNDYuNzkzOFY0Ni43OTE2WiIgZmlsbD0iI0YyRjRGOSIvPgo8cGF0aCBkPSJNNDcuNzg5NiAyMi4wNjI3TDI3LjIxMDQgMC45MzUyMDZDMjUuOTk1OCAtMC4zMTE3MzUgMjQuMDA2MiAtMC4zMTE3MzUgMjIuNzkxNyAwLjkzNTIwNkwyLjIxMDQyIDIyLjA2MjdDMC45OTU4MzMgMjMuMzA5NyAwIDI1Ljc3NTUgMCAyNy41NDAxVjQ2Ljc4OTZDMCA0OC41NTQxIDEuNDA2MjUgNDkuOTk3OSAzLjEyNSA0OS45OTc5SDIyLjM0NzlMMTMuODgzMyA0MS4zMDc4QzEzLjQ0NzkgNDEuNDYxOCAxMi45ODMzIDQxLjU0OTUgMTIuNSA0MS41NDk1QzEwLjE0NTggNDEuNTQ5NSA4LjIyOTE3IDM5LjU4MTcgOC4yMjkxNyAzNy4xNjQ4QzguMjI5MTcgMzQuNzQ4IDEwLjE0NTggMzIuNzgwMiAxMi41IDMyLjc4MDJDMTQuODU0MiAzMi43ODAyIDE2Ljc3MDggMzQuNzQ4IDE2Ljc3MDggMzcuMTY0OEMxNi43NzA4IDM3LjY2MzIgMTYuNjg1NCAzOC4xNDAyIDE2LjUzNTQgMzguNTg3MkwyMy4xMjUgNDUuMzUyM1YyMC41Njc1QzIxLjcwODMgMTkuODUzMSAyMC43MjkyIDE4LjM2MDIgMjAuNzI5MiAxNi42MzQyQzIwLjcyOTIgMTQuMjE3MyAyMi42NDU4IDEyLjI0OTUgMjUgMTIuMjQ5NUMyNy4zNTQyIDEyLjI0OTUgMjkuMjcwOCAxNC4yMTczIDI5LjI3MDggMTYuNjM0MkMyOS4yNzA4IDE4LjM2MDIgMjguMjkxNyAxOS44NTMxIDI2Ljg3NSAyMC41Njc1VjM3Ljk0OThMMzMuNDI5MiAzMS4yMjFDMzMuMyAzMC44MDE4IDMzLjIyOTIgMzAuMzU2OSAzMy4yMjkyIDI5Ljg5NDlDMzMuMjI5MiAyNy40NzgxIDM1LjE0NTggMjUuNTEwMyAzNy41IDI1LjUxMDNDMzkuODU0MiAyNS41MTAzIDQxLjc3MDggMjcuNDc4MSA0MS43NzA4IDI5Ljg5NDlDNDEuNzcwOCAzMi4zMTE4IDM5Ljg1NDIgMzQuMjc5NiAzNy41IDM0LjI3OTZDMzYuOTc5MiAzNC4yNzk2IDM2LjQ4MzMgMzQuMTc5IDM2LjAyMjkgMzQuMDAzNkwyNi44NzUgNDMuMzk1M1Y1MEg0Ni44NzVDNDguNTkzNyA1MCA1MCA0OC41NTYzIDUwIDQ2Ljc5MTdWMjcuNTQyMkM1MCAyNS43Nzc3IDQ5LjAwNjMgMjMuMzEzNyA0Ny43ODk2IDIyLjA2NDdWMjIuMDYyN1oiIGZpbGw9IiMxOEJDRjIiLz4KPC9zdmc+Cg==", | ||||||
|  |     "description": "Home Assistant is free and open-source home automation software that acts as a central hub for managing and controlling smart home devices. It allows users to connect, automate, and customize their smart home setup, offering local control and privacy features. ", | ||||||
|     "fields": [ |     "fields": [ | ||||||
|         { |         { | ||||||
|             "description": "Your Home Assistant domain:", |             "description": "Domain", | ||||||
|             "key": "DOMAIN", |             "key": "DOMAIN", | ||||||
|             "value": "", |             "value": "", | ||||||
|             "required": "true" |             "required": "true" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "description": "Home Assistant timezone:", |             "description": "Timezone", | ||||||
|             "key": "TZ", |             "key": "TZ", | ||||||
|             "value": "Europe/Budapest", |             "value": "Europe/Budapest", | ||||||
|             "required": "true" |             "required": "true" | ||||||
|   | |||||||
| @@ -29,7 +29,7 @@ | |||||||
|             "IMAGE": "tensorchord/pgvecto-rs:pg14-v0.2.0", |             "IMAGE": "tensorchord/pgvecto-rs:pg14-v0.2.0", | ||||||
|             "UPDATE": "true", |             "UPDATE": "true", | ||||||
|             "NAME": "immichpostgres-db", |             "NAME": "immichpostgres-db", | ||||||
|             "MEMORY": "256M", |             "MEMORY": "768M", | ||||||
|             "NETWORK": "immich-net", |             "NETWORK": "immich-net", | ||||||
|             "SELECTOR": "immichpostgres", |             "SELECTOR": "immichpostgres", | ||||||
|             "VOLUMES": [ |             "VOLUMES": [ | ||||||
| @@ -49,6 +49,11 @@ | |||||||
|             "ENV_FILES": [ |             "ENV_FILES": [ | ||||||
|                 "/etc/user/secret/immich/immich.json" |                 "/etc/user/secret/immich/immich.json" | ||||||
|             ], |             ], | ||||||
|  |             "ENVS": [ | ||||||
|  |                 { | ||||||
|  |                     "POSTGRES_INITDB_ARGS": "--data-checksums" | ||||||
|  |                 } | ||||||
|  |             ], | ||||||
|             "EXTRA": "--restart always", |             "EXTRA": "--restart always", | ||||||
|             "DEPEND": "null", |             "DEPEND": "null", | ||||||
|             "START_ON_BOOT": "false", |             "START_ON_BOOT": "false", | ||||||
| @@ -81,7 +86,7 @@ | |||||||
|             "IMAGE": "ghcr.io/immich-app/immich-server:#IMMICH_VERSION", |             "IMAGE": "ghcr.io/immich-app/immich-server:#IMMICH_VERSION", | ||||||
|             "UPDATE": "true", |             "UPDATE": "true", | ||||||
|             "NAME": "immichapp-app", |             "NAME": "immichapp-app", | ||||||
|             "MEMORY": "1024M", |             "MEMORY": "1536M", | ||||||
|             "NETWORK": "immich-net", |             "NETWORK": "immich-net", | ||||||
|             "SELECTOR": "immichapp", |             "SELECTOR": "immichapp", | ||||||
|             "PORTS": [ |             "PORTS": [ | ||||||
| @@ -136,7 +141,7 @@ | |||||||
|             "UPDATE": "true", |             "UPDATE": "true", | ||||||
|             "NAME": "immichmachine-learning", |             "NAME": "immichmachine-learning", | ||||||
|             "ROLES": "backend-www", |             "ROLES": "backend-www", | ||||||
|             "MEMORY": "1024M", |             "MEMORY": "1536M", | ||||||
|             "NETWORK": "immich-net", |             "NETWORK": "immich-net", | ||||||
|             "SELECTOR": "immichmachine-learning", |             "SELECTOR": "immichmachine-learning", | ||||||
|             "ENVS": [ |             "ENVS": [ | ||||||
|   | |||||||
| @@ -1,24 +1,28 @@ | |||||||
| { | { | ||||||
|     "name": "immich", |     "name": "Immich", | ||||||
|     "description":"Immich is a photo and video backup solution that helps you securely store and manage your media across devices.", |     "title": "Immich", | ||||||
|  |     "subtitle": "Photos and Videos", | ||||||
|  |     "icon": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTYiIGhlaWdodD0iOTYiIHZpZXdCb3g9IjAgMCA5NiA5NiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQ1LjMwNjkgMzIuNTE3N0M1MC41NDQ1IDM3LjE4IDU0Ljc2NTUgNDIuMTc2MyA1Ny40ODIgNDYuODg0OUM2Mi4xNDc2IDM4LjQ5NTIgNjUuMjY1MiAyOC41MjU4IDY1LjMwNDUgMjIuMTc2MkM2NS4zMDQ1IDIyLjEzMTMgNjUuMzA0NSAyMi4wOTAzIDY1LjMwNDUgMjIuMDUyMkM2NS4zMDQ1IDEyLjY1NjYgNTUuOTgyOCA5IDQ3Ljk1MjggOUMzOS45MjI5IDkgMzAuNjAxMSAxMi42NTY2IDMwLjYwMTEgMjIuMDUyMkMzMC42MDExIDIyLjE4MDMgMzAuNjAxMSAyMi4zNTIxIDMwLjYwMTEgMjIuNTU5MkMzNS4wNzcgMjQuNTU5OSA0MC4zODIzIDI4LjEzNDYgNDUuMzA2OSAzMi41MTc3WiIgZmlsbD0iI0ZBMjkyMSIvPgo8cGF0aCBkPSJNMTYuNzM0NSA1OC4xMzk2QzIwLjAwOCA1NC40Nzc1IDI1LjAzMDIgNTAuNTA4OCAzMC42OTc1IDQ3LjE1MzVDMzYuNzI2OCA0My41ODU1IDQyLjc1NzQgNDEuMDkyOCA0OC4wNTA1IDM5Ljk1MjFDNDEuNTU2NCAzMi44OTc5IDMzLjA5IDI2LjgzNTkgMjcuMDk0NiAyNC44MzY2QzI3LjA1MjYgMjQuODIzIDI3LjAxMzMgMjQuODEwNyAyNi45NzggMjQuNzk4NUMxOC4wOSAyMS44OTU2IDExLjc1MDMgMjkuNjc4OCA5LjI2OTgxIDM3LjM1NzJDNi43ODkzIDQ1LjAzNTYgNy4zNjY3MSA1NS4wNzk5IDE2LjI1NDcgNTcuOTgyOEMxNi4zNzUzIDU4LjAyMjMgMTYuNTM4IDU4LjA3NTUgMTYuNzM0NSA1OC4xMzk2WiIgZmlsbD0iI0VENzlCNSIvPgo8cGF0aCBkPSJNODYuNzMgMzcuMjI3M0M4NC4yNDk1IDI5LjU0ODkgNzcuOTA5OCAyMS43NjU3IDY5LjAyMTggMjQuNjY4NkM2OC44OTk4IDI0LjcwODEgNjguNzM3MiAyNC43NjEyIDY4LjU0MiAyNC44MjUzQzY4LjAzMzcgMjkuNzIyIDY2LjI5MTkgMzUuOTAxMyA2My42Njc1IDQxLjk2NDZDNjAuODc2NiA0OC40MTM3IDU3LjQ1NCA1My45OTQ3IDUzLjgzODkgNTguMDQ2NEM2My4yMTYyIDU5LjkxNjIgNzMuNjEwMiA1OS44MTU0IDc5LjYyODYgNTcuODkxQzc5LjY3MDYgNTcuODc3NSA3OS43MDk5IDU3Ljg2MzggNzkuNzQ1MSA1Ny44NTI5Qzg4LjYzMzEgNTQuOTQ4NiA4OS4yMTA2IDQ0LjkwNDQgODYuNzMgMzcuMjI3M1oiIGZpbGw9IiNGRkI0MDAiLz4KPHBhdGggZD0iTTQwLjAyODEgNjUuNjQ1N0MzOC41MTY3IDU4Ljc3ODIgMzguMDIxOSA1Mi4yNDA1IDM4LjU3NzcgNDYuODI3MUMyOS44OTg0IDUwLjg1NzIgMjEuNTQ4NiA1Ny4wOCAxNy44MDM0IDYyLjE5NDhDMTcuNzc3NSA2Mi4yMzAyIDE3Ljc1MzIgNjIuMjY0NCAxNy43MzE1IDYyLjI5NDNDMTIuMjM5IDY5Ljg5NjQgMTcuNjQyMSA3OC4zNjM5IDI0LjEzODkgODMuMTA4QzMwLjYzNDQgODcuODUzNCA0MC4zMTQxIDkwLjQwNDcgNDUuODA3OSA4Mi44MDI3QzQ1Ljg4MzggODIuNjk5MSA0NS45ODQxIDgyLjU2MDEgNDYuMTA0NyA4Mi4zOTI1QzQzLjY1MjYgNzguMTMwOCA0MS40NDg3IDcyLjEwMTUgNDAuMDI4MSA2NS42NDU3WiIgZmlsbD0iIzFFODNGNyIvPgo8cGF0aCBkPSJNNzguMTIyOSA2MS44MDQ5QzczLjMzMzkgNjIuODMyNSA2Ni45NTA4IDYzLjA3NjUgNjAuNDAzOCA2Mi40NEM1My40NDA2IDYxLjc2NDEgNDcuMTA1IDYwLjIxNTggNDIuMTU0OCA1OC4wMTA3QzQzLjI4MzkgNjcuNTU0OCA0Ni41OTEzIDc3LjQ2MjkgNTAuMjcxNSA4Mi42MjRDNTAuMjk3MiA4Mi42NTk1IDUwLjMyMTcgODIuNjkzNiA1MC4zNDM0IDgyLjcyMzVDNTUuODM1NyA5MC4zMjU2IDY1LjUxNTQgODcuNzc0MyA3Mi4wMTIyIDgzLjAyODhDNzguNTA3OSA3OC4yODM0IDgzLjkxMjIgNjkuODE1OSA3OC40MTk3IDYyLjIxNTJDNzguMzQzOCA2Mi4xMTE1IDc4LjI0MzUgNjEuOTcyNSA3OC4xMjI5IDYxLjgwNDlaIiBmaWxsPSIjMThDMjQ5Ii8+Cjwvc3ZnPgo=", | ||||||
|  |     "description":"Immich is a free, open-source, self-hosted photo and video management platform designed as an alternative to Google Photos. It allows users to back up, organize, and manage their photos and videos on their own server, prioritizing privacy and control over their data.", | ||||||
|     "fields": [ |     "fields": [ | ||||||
|         { |         { | ||||||
|             "description": "Your Immich domain:", |             "description": "Domain", | ||||||
|             "key": "DOMAIN", |             "key": "DOMAIN", | ||||||
|             "value": "", |             "value": "", | ||||||
|             "required": "true" |             "required": "true" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "description": "Immich timezone:", |             "description": "Timezone", | ||||||
|             "key": "IMMICH_TZ", |             "key": "IMMICH_TZ", | ||||||
|             "value": "Europe/Budapest", |             "value": "Europe/Budapest", | ||||||
|             "required": "true" |             "required": "true" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "description": "Immich version:", |             "description": "Version", | ||||||
|             "key": "IMMICH_VERSION", |             "key": "IMMICH_VERSION", | ||||||
|             "value": "release", |             "value": "release", | ||||||
|             "required": "true" |             "required": "true", | ||||||
|  |             "advanced": "true" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "description": "POSTGRES database name", |             "description": "POSTGRES database name", | ||||||
|   | |||||||
| @@ -29,7 +29,7 @@ | |||||||
|             "POST_START": "null" |             "POST_START": "null" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "IMAGE": "jellyfin/jellyfin:latest", |             "IMAGE": "jellyfin/jellyfin:#VERSION", | ||||||
|             "UPDATE": "true", |             "UPDATE": "true", | ||||||
|             "NAME": "jellyfin", |             "NAME": "jellyfin", | ||||||
|             "NETWORK": "host", |             "NETWORK": "host", | ||||||
|   | |||||||
| @@ -1,11 +1,21 @@ | |||||||
| { | { | ||||||
|     "name": "jellyfin", |     "name": "Jellyfin", | ||||||
|     "description": "Jellyfin media server lets you stream and organize your movies, TV shows, music, and photos across all your devices.", |     "title": "Jellyfin", | ||||||
|  |     "subtitle": "Media System", | ||||||
|  |     "icon": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjYiIGhlaWdodD0iNjYiIHZpZXdCb3g9IjAgMCA2NiA2NiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMzIDI1LjI4NzZDMzAuMTAxNCAyNS4yODc2IDIwLjc3MTcgNDIuMjA0MiAyMi4xOTQgNDUuMDYwMkMyMy42MTY0IDQ3LjkxNjMgNDIuMzk5MiA0Ny44ODUxIDQzLjgwNTkgNDUuMDYwMkM0NS4yMTI3IDQyLjIzNTQgMzUuOTAyOCAyNS4yODkgMzMgMjUuMjg3NloiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8yMl85OCkiLz4KPHBhdGggZD0iTTMzIDBDMjQuMjcwMSAwIC0zLjg0NTIzIDUwLjk3MSAwLjQ0MTcwNiA1OS41Nzg5QzQuNzI4NjQgNjguMTg2OCA2MS4zMjY2IDY4LjA4NzUgNjUuNTY2OCA1OS41Nzg5QzY5LjgwNjkgNTEuMDcwMiA0MS43MzgzIDAgMzMgMFpNNTQuMzQzOSA1Mi4xMDk3QzUxLjU2NTggNTcuNjg3MSAxNC40ODM4IDU3Ljc0OTUgMTEuNjc0NSA1Mi4xMDk3QzguODY1MjUgNDYuNDY5OSAyNy4yODY0IDEzLjA3MjEgMzMuMDA4NSAxMy4wNzIxQzM4LjczMDUgMTMuMDcyMSA1Ny4xMjIgNDYuNTMwOSA1NC4zNDM5IDUyLjEwOTdaIiBmaWxsPSJ1cmwoI3BhaW50MV9saW5lYXJfMjJfOTgpIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMjJfOTgiIHgxPSIxMi4zMzExIiB5MT0iMjYuOTQzOSIgeDI9IjY3LjA1NDQiIHkyPSI1OC41Mzc5IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiNBQTVDQzMiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDBBNERDIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQxX2xpbmVhcl8yMl85OCIgeDE9IjEyLjMzMTEiIHkxPSIyNi45NDQiIHgyPSI2Ny4wNTQ0IiB5Mj0iNTguNTM4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiNBQTVDQzMiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDBBNERDIi8+CjwvbGluZWFyR3JhZGllbnQ+CjwvZGVmcz4KPC9zdmc+Cg==", | ||||||
|  |     "description": "Jellyfin is a free and open-source media server and suite of applications that allows users to manage, organize, and stream their personal media collections. It is built by volunteers and emphasizes user control, privacy, and a lack of tracking or hidden agendas.", | ||||||
|     "fields": [ |     "fields": [ | ||||||
|         { |         { | ||||||
|             "description": "Your Jellyfin domain:", |             "description": "Domain", | ||||||
|             "key": "DOMAIN", |             "key": "DOMAIN", | ||||||
|             "value": "" |             "value": "" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "Version", | ||||||
|  |             "key": "VERSION", | ||||||
|  |             "value": "2025081105", | ||||||
|  |             "info": "Latest stable official version at the time of template creation.", | ||||||
|  |             "advanced": "true" | ||||||
|         } |         } | ||||||
|     ] |     ] | ||||||
| } | } | ||||||
| @@ -26,7 +26,7 @@ | |||||||
|                     "TARGET": "leantime-app" |                     "TARGET": "leantime-app" | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                     "PORT": "80" |                     "PORT": "8080" | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                     "DOMAIN": "#DOMAIN" |                     "DOMAIN": "#DOMAIN" | ||||||
|   | |||||||
| @@ -58,7 +58,7 @@ | |||||||
|                     "TYPE": "tcp" |                     "TYPE": "tcp" | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                     "TARGET_PORT": "80" |                     "TARGET_PORT": "8080" | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                     "COMMENT": "leantime" |                     "COMMENT": "leantime" | ||||||
| @@ -115,7 +115,7 @@ | |||||||
|             "PORTS": [ |             "PORTS": [ | ||||||
|                 { |                 { | ||||||
|                     "SOURCE": "null", |                     "SOURCE": "null", | ||||||
|                     "DEST": "80", |                     "DEST": "8080", | ||||||
|                     "TYPE": "tcp" |                     "TYPE": "tcp" | ||||||
|                 } |                 } | ||||||
|             ], |             ], | ||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -1,113 +0,0 @@ | |||||||
| { |  | ||||||
|     "name": "leantime", |  | ||||||
|     "fields": [ |  | ||||||
|         { |  | ||||||
|             "description": "Please add LeanTime domain:", |  | ||||||
|             "key": "DOMAIN", |  | ||||||
|             "value": "", |  | ||||||
|             "required": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Please add your deploy name (default is LeanTime)", |  | ||||||
|             "key": "LEANTIME_SITENAME", |  | ||||||
|             "value": "LeanTime" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Please add your deploy default language (default is en-US)", |  | ||||||
|             "key": "LEANTIME_LANG", |  | ||||||
|             "value": "en-US" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Please add your deploy default timezone (default is Europe/Budapest)", |  | ||||||
|             "key": "LEANTIME_TZ", |  | ||||||
|             "value": "Europe/Budapest" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Do you want to disable login form for public?", |  | ||||||
|             "key": "DISABLE_LOGIN", |  | ||||||
|             "value": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "MYSQL database name", |  | ||||||
|             "key": "DB_MYSQL", |  | ||||||
|             "value": "", |  | ||||||
|             "required": "true", |  | ||||||
|             "generated": "time|md5|10" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "MYSQL username", |  | ||||||
|             "key": "DB_USER", |  | ||||||
|             "value": "", |  | ||||||
|             "required": "true", |  | ||||||
|             "generated": "time|md5|8" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "MYSQL password for user", |  | ||||||
|             "key": "DB_PASSWORD", |  | ||||||
|             "value": "", |  | ||||||
|             "required": "true", |  | ||||||
|             "generated": "random|md5|12" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "MYSQL root user password", |  | ||||||
|             "key": "DB_ROOT_PASSWORD", |  | ||||||
|             "value": "", |  | ||||||
|             "required": "true", |  | ||||||
|             "generated": "random|sha256|20" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Do you want to set up OIDC provider? (default is false)", |  | ||||||
|             "key": "OIDC_ENABLE", |  | ||||||
|             "value": "false" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Please add OIDC user key:", |  | ||||||
|             "key": "OIDC_CLIENT_KEY", |  | ||||||
|             "value": "" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Please add OIDC client secret:", |  | ||||||
|             "key": "OIDC_CLIENT_SECRET", |  | ||||||
|             "value": "" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Do you want to set up S3 bucket server? (default is false)", |  | ||||||
|             "key": "LEANTIME_USE_S3", |  | ||||||
|             "value": "false" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Session password", |  | ||||||
|             "key": "SESSION_PASSWORD", |  | ||||||
|             "value": "", |  | ||||||
|             "required": "true", |  | ||||||
|             "generated": "random|sha256|20" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Please add session expiration time in seconds (defaults is 28800)", |  | ||||||
|             "key": "SESSION_EXPIRATION", |  | ||||||
|             "value": "28800" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Please add a strong password for sessions", |  | ||||||
|             "key": "SESSION_PASSWORD", |  | ||||||
|             "value": "", |  | ||||||
|             "required": "true", |  | ||||||
|             "generated": "random|sha256|20" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Please set LeanTime access mode (defaults is https)", |  | ||||||
|             "key": "SESSION_SECURITY", |  | ||||||
|             "value": "true" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Please set SMTP host for sending emails", |  | ||||||
|             "key": "LEANTIME_SMTP", |  | ||||||
|             "value": "smtp-mail" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "description": "Do you want to connect an S3 bucket provider?", |  | ||||||
|             "key": "LEANTIME_USE_S3", |  | ||||||
|             "value": "false" |  | ||||||
|         } |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
| @@ -1,7 +1,7 @@ | |||||||
| { | { | ||||||
|     "main": { |     "main": { | ||||||
|         "SERVICE_NAME": "leantime", |         "SERVICE_NAME": "matrix", | ||||||
|         "DOMAIN": "#DOMAIN" |         "DOMAIN": "#ADMINDOMAIN" | ||||||
|     }, |     }, | ||||||
|     "containers": [ |     "containers": [ | ||||||
|         { |         { | ||||||
| @@ -23,20 +23,20 @@ | |||||||
|                     "PROXY": "smarthostloadbalancer" |                     "PROXY": "smarthostloadbalancer" | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                     "TARGET": "leantime-app" |                     "TARGET": "matrixadmin" | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                     "PORT": "80" |                     "PORT": "80" | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                     "LOCATION": "#LEANTIME_LOCATION_PATH" |                     "DOMAIN": "#ADMINDOMAIN" | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "DOMAIN": "#DOMAIN" |  | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                     "SMARTHOST_PROXY_PATH": "/smarthost-domains" |                     "SMARTHOST_PROXY_PATH": "/smarthost-domains" | ||||||
|                 }, |                 }, | ||||||
|  |                 { | ||||||
|  |                     "LOCATION": "#SUBPATH" | ||||||
|  |                 }, | ||||||
|                 { |                 { | ||||||
|                     "OPERATION": "CREATE" |                     "OPERATION": "CREATE" | ||||||
|                 } |                 } | ||||||
							
								
								
									
										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" | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										199
									
								
								matrix/service-matrix.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										199
									
								
								matrix/service-matrix.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,199 @@ | |||||||
|  | { | ||||||
|  |     "main": { | ||||||
|  |         "SERVICE_NAME": "matrix", | ||||||
|  |         "DOMAIN": "DOMAIN" | ||||||
|  |     }, | ||||||
|  |     "containers": [ | ||||||
|  |         { | ||||||
|  |             "IMAGE": "alpine:latest", | ||||||
|  |             "UPDATE": "true", | ||||||
|  |             "NAME": "matrix-init", | ||||||
|  |             "NETWORK": "host", | ||||||
|  |             "MEMORY": "64M", | ||||||
|  |             "VOLUMES": [ | ||||||
|  |                 { | ||||||
|  |                     "SOURCE": "USER_DATA", | ||||||
|  |                     "DEST": "/etc/user/data", | ||||||
|  |                     "TYPE": "rw" | ||||||
|  |                 } | ||||||
|  |             ], | ||||||
|  |             "ENV_FILES": [ | ||||||
|  |                 "/etc/user/secret/matrix/matrix.json" | ||||||
|  |             ], | ||||||
|  |             "EXTRA": "--rm", | ||||||
|  |             "DEPEND": "null", | ||||||
|  |             "START_ON_BOOT": "false", | ||||||
|  |             "ENTRYPOINT": "sh -c", | ||||||
|  |             "CMD": "mkdir -p /etc/user/data/matrix/db && mkdir -p /etc/user/data/matrix/synapse", | ||||||
|  |             "PRE_START": "null", | ||||||
|  |             "POST_START": "null" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "IMAGE": "postgres:alpine", | ||||||
|  |             "UPDATE": "true", | ||||||
|  |             "NAME": "matrixpostgres-db", | ||||||
|  |             "ROLES": "postgres-db", | ||||||
|  |             "MEMORY": "256M", | ||||||
|  |             "NETWORK": "matrix-net", | ||||||
|  |             "SELECTOR": "matrixpostgres-db", | ||||||
|  |             "VOLUMES": [ | ||||||
|  |                 { | ||||||
|  |                     "SOURCE": "/etc/user/data/matrix/db", | ||||||
|  |                     "DEST": "/var/lib/postgresql/data", | ||||||
|  |                     "TYPE": "rw" | ||||||
|  |                 } | ||||||
|  |             ], | ||||||
|  |             "PORTS": [ | ||||||
|  |                 { | ||||||
|  |                     "SOURCE": "null", | ||||||
|  |                     "DEST": "5432", | ||||||
|  |                     "TYPE": "tcp" | ||||||
|  |                 } | ||||||
|  |             ], | ||||||
|  |             "ENV_FILES": [ | ||||||
|  |                 "/etc/user/secret/matrix/matrix.json" | ||||||
|  |             ], | ||||||
|  |             "ENVS": [ | ||||||
|  |                 { | ||||||
|  |                     "POSTGRES_INITDB_ARGS": "--encoding=UTF-8 --lc-collate=C --lc-ctype=C" | ||||||
|  |                 } | ||||||
|  |             ], | ||||||
|  |             "EXTRA": "--restart unless-stopped", | ||||||
|  |             "DEPEND": "null", | ||||||
|  |             "START_ON_BOOT": "false", | ||||||
|  |             "CMD": "null", | ||||||
|  |             "PRE_START": [], | ||||||
|  |             "POST_START": [] | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "IMAGE": "matrixdotorg/synapse", | ||||||
|  |             "UPDATE": "true", | ||||||
|  |             "NAME": "matrixserver-init", | ||||||
|  |             "ROLES": "backend-www", | ||||||
|  |             "MEMORY": "512M", | ||||||
|  |             "NETWORK": "matrix-net", | ||||||
|  |             "VOLUMES": [ | ||||||
|  |                 { | ||||||
|  |                     "SOURCE": "/etc/user/data/matrix/synapse", | ||||||
|  |                     "DEST": "/data", | ||||||
|  |                     "TYPE": "rw" | ||||||
|  |                 } | ||||||
|  |             ], | ||||||
|  |             "ENV_FILES": [ | ||||||
|  |                 "/etc/user/secret/matrix/matrix.json" | ||||||
|  |             ], | ||||||
|  |             "EXTRA": "--rm", | ||||||
|  |             "DEPEND": "null", | ||||||
|  |             "START_ON_BOOT": "false", | ||||||
|  |             "ENTRYPOINT": "bash -c", | ||||||
|  |             "CMD": "if [ ! -f /data/homeserver.yaml ]; then /start.py generate ; else exit 1; fi", | ||||||
|  |             "PRE_START": [], | ||||||
|  |             "POST_START": [] | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "IMAGE": "safebox/matrix-setup:latest", | ||||||
|  |             "UPDATE": "true", | ||||||
|  |             "NAME": "matrixserver-dbinit", | ||||||
|  |             "NETWORK": "host", | ||||||
|  |             "MEMORY": "64M", | ||||||
|  |             "VOLUMES": [ | ||||||
|  |                 { | ||||||
|  |                     "SOURCE": "/etc/user/data/matrix/synapse", | ||||||
|  |                     "DEST": "/data", | ||||||
|  |                     "TYPE": "rw" | ||||||
|  |                 } | ||||||
|  |             ], | ||||||
|  |             "ENV_FILES": [ | ||||||
|  |                 "/etc/user/secret/matrix/matrix.json" | ||||||
|  |             ], | ||||||
|  |             "EXTRA": "--rm", | ||||||
|  |             "DEPEND": "null", | ||||||
|  |             "START_ON_BOOT": "false", | ||||||
|  |             "CMD": "null", | ||||||
|  |             "PRE_START": "null", | ||||||
|  |             "POST_START": "null" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "IMAGE": "matrixdotorg/synapse", | ||||||
|  |             "UPDATE": "true", | ||||||
|  |             "NAME": "matrixserver-app", | ||||||
|  |             "ROLES": "backend-www", | ||||||
|  |             "MEMORY": "512M", | ||||||
|  |             "NETWORK": "matrix-net", | ||||||
|  |             "SELECTOR": "matrixserver", | ||||||
|  |             "VOLUMES": [ | ||||||
|  |                 { | ||||||
|  |                     "SOURCE": "/etc/user/data/matrix/synapse", | ||||||
|  |                     "DEST": "/data", | ||||||
|  |                     "TYPE": "rw" | ||||||
|  |                 } | ||||||
|  |             ], | ||||||
|  |             "ENV_FILES": [ | ||||||
|  |                 "/etc/user/secret/matrix/matrix.json" | ||||||
|  |             ], | ||||||
|  |             "EXTRA": "--restart unless-stopped", | ||||||
|  |             "DEPEND": "null", | ||||||
|  |             "START_ON_BOOT": "false", | ||||||
|  |             "CMD": "null", | ||||||
|  |             "PRE_START": [], | ||||||
|  |             "POST_START": [ | ||||||
|  |                 "firewall-matrix", | ||||||
|  |                 "domain-matrix" | ||||||
|  |             ] | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "IMAGE": "safebox/matrix-setup:latest", | ||||||
|  |             "UPDATE": "true", | ||||||
|  |             "NAME": "matrixserver-finalize", | ||||||
|  |             "NETWORK": "host", | ||||||
|  |             "MEMORY": "64M", | ||||||
|  |             "VOLUMES": [ | ||||||
|  |                 { | ||||||
|  |                     "SOURCE": "/etc/user/data/matrix/synapse", | ||||||
|  |                     "DEST": "/data", | ||||||
|  |                     "TYPE": "rw" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                     "SOURCE": "SHARED", | ||||||
|  |                     "DEST": "/var/tmp/shared", | ||||||
|  |                     "TYPE": "rw" | ||||||
|  |                 } | ||||||
|  |             ], | ||||||
|  |             "ENV_FILES": [ | ||||||
|  |                 "/etc/user/secret/matrix/matrix.json" | ||||||
|  |             ], | ||||||
|  |             "EXTRA": "--rm", | ||||||
|  |             "DEPEND": "null", | ||||||
|  |             "START_ON_BOOT": "false", | ||||||
|  |             "CMD": "null", | ||||||
|  |             "PRE_START": "null", | ||||||
|  |             "POST_START": "null" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "IMAGE": "awesometechnologies/synapse-admin", | ||||||
|  |             "UPDATE": "true", | ||||||
|  |             "NAME": "matrixadmin", | ||||||
|  |             "ROLES": "backend-www", | ||||||
|  |             "MEMORY": "128M", | ||||||
|  |             "NETWORK": "matrix-net", | ||||||
|  |             "SELECTOR": "matrixadmin", | ||||||
|  |             "VOLUMES": [], | ||||||
|  |             "PORTS": [ | ||||||
|  |                 { | ||||||
|  |                     "SOURCE": "null", | ||||||
|  |                     "DEST": "80", | ||||||
|  |                     "TYPE": "tcp" | ||||||
|  |                 } | ||||||
|  |             ], | ||||||
|  |             "EXTRA": "--restart unless-stopped", | ||||||
|  |             "DEPEND": "null", | ||||||
|  |             "START_ON_BOOT": "false", | ||||||
|  |             "CMD": "null", | ||||||
|  |             "PRE_START": [], | ||||||
|  |             "POST_START": [ | ||||||
|  |                 "firewall-matrix-admin", | ||||||
|  |                 "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,48 +1,60 @@ | |||||||
|  { | { | ||||||
|     "main": { |     "main": { | ||||||
|       "SERVICE_NAME": "nextcloud", |         "SERVICE_NAME": "nextcloud", | ||||||
|       "DOMAIN": "#NEXTCLOUD_TRUSTED_DOMAINS" |         "DOMAIN": "#DOMAIN" | ||||||
|     }, |     }, | ||||||
|     "containers": [ |     "containers": [ | ||||||
|       {  |         { | ||||||
|   "IMAGE": "safebox/domain-check", |             "IMAGE": "safebox/domain-check", | ||||||
| 	"UPDATE": "true", |             "UPDATE": "true", | ||||||
|   "MEMORY": "64M", |             "MEMORY": "64M", | ||||||
| 	"NAME": "domain_checker",  |             "NAME": "domain_checker", | ||||||
| 	"ROLES": "domain_checker",  |             "ROLES": "domain_checker", | ||||||
| 	"NETWORK": "host",  |             "NETWORK": "host", | ||||||
| 	"SELECTOR": "", |             "SELECTOR": "", | ||||||
| 	"SCALE": "0",  |             "SCALE": "0", | ||||||
| 	"EXTRA": "--rm --privileged", |             "EXTRA": "--rm --privileged", | ||||||
| 	"PRE_START": [],  |             "PRE_START": [], | ||||||
| 	"DEPEND": [],  |             "DEPEND": [], | ||||||
| 	"POST_START": [],  |             "POST_START": [], | ||||||
| 	"CMD": "", |             "CMD": "", | ||||||
|         "ENVS": [ |             "ENVS": [ | ||||||
|           { "PROXY": "smarthostloadbalancer" }, |                 { | ||||||
|           { "TARGET": "nextcloudnginx" }, |                     "PROXY": "smarthostloadbalancer" | ||||||
|           { "PORT": "80" }, |                 }, | ||||||
|           { "DOMAIN": "#NEXTCLOUD_TRUSTED_DOMAINS" }, |                 { | ||||||
|           { "SMARTHOST_PROXY_PATH": "/smarthost-domains" }, |                     "TARGET": "nextcloudnginx" | ||||||
| 	        { "OPERATION": "CREATE" } |                 }, | ||||||
|         ], |                 { | ||||||
|         "VOLUMES": [ |                     "PORT": "80" | ||||||
|           { |                 }, | ||||||
|        	"SOURCE": "/etc/user/config/smarthost-domains", |                 { | ||||||
|         "DEST": "/smarthost-domains", |                     "DOMAIN": "#DOMAIN" | ||||||
|         "TYPE": "rw" |                 }, | ||||||
|           }, |                 { | ||||||
| 	        { |                     "SMARTHOST_PROXY_PATH": "/smarthost-domains" | ||||||
| 	      "SOURCE": "/etc/system/data/dns/hosts.local", |                 }, | ||||||
| 	      "DEST": "/etc/dns/hosts.local", |                 { | ||||||
| 	      "TYPE": "ro" |                     "OPERATION": "CREATE" | ||||||
| 	        }, |                 } | ||||||
|           {  |             ], | ||||||
| 	      "SOURCE": "/var/run/docker.sock",  |             "VOLUMES": [ | ||||||
| 	      "DEST": "/var/run/docker.sock",  |                 { | ||||||
| 	      "TYPE": "rw"  |                     "SOURCE": "/etc/user/config/smarthost-domains", | ||||||
|           } |                     "DEST": "/smarthost-domains", | ||||||
| 	    ] |                     "TYPE": "rw" | ||||||
|     } |                 }, | ||||||
|   ] |                 { | ||||||
|  |                     "SOURCE": "/etc/system/data/dns/hosts.local", | ||||||
|  |                     "DEST": "/etc/dns/hosts.local", | ||||||
|  |                     "TYPE": "ro" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                     "SOURCE": "/var/run/docker.sock", | ||||||
|  |                     "DEST": "/var/run/docker.sock", | ||||||
|  |                     "TYPE": "rw" | ||||||
|  |                 } | ||||||
|  |             ] | ||||||
|  |         } | ||||||
|  |     ] | ||||||
| } | } | ||||||
| @@ -1,20 +1,20 @@ | |||||||
| { | { | ||||||
|     "nextcloudmysql": { |     "nextcloudpostgres": { | ||||||
|         "MARIADB_DATABASE": "#MARIADB_DATABASE", |         "POSTGRES_DB": "#POSTGRES_DB", | ||||||
|         "MARIADB_USER": "#MARIADB_USER", |         "POSTGRES_USER": "#POSTGRES_USER", | ||||||
|         "MARIADB_PASSWORD": "#MARIADB_PASSWORD", |         "POSTGRES_PASSWORD": "#POSTGRES_PASSWORD", | ||||||
|         "MARIADB_ROOT_PASSWORD": "#MARIADB_ROOT_PASSWORD" |         "POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD" | ||||||
|     }, |     }, | ||||||
|     "nextcloudphp": { |     "nextcloudphp": { | ||||||
|         "NEXTCLOUD_ADMIN_USER": "#NEXTCLOUD_ADMIN_USER", |         "NEXTCLOUD_ADMIN_USER": "#NEXTCLOUD_ADMIN_USER", | ||||||
|         "NEXTCLOUD_ADMIN_PASSWORD": "#NEXTCLOUD_ADMIN_PASSWORD", |         "NEXTCLOUD_ADMIN_PASSWORD": "#NEXTCLOUD_ADMIN_PASSWORD", | ||||||
|         "NEXTCLOUD_TRUSTED_DOMAINS": "#NEXTCLOUD_TRUSTED_DOMAINS", |         "DOMAIN": "#DOMAIN", | ||||||
|         "OVERWRITEHOST": "#NEXTCLOUD_TRUSTED_DOMAINS", |         "OVERWRITEHOST": "#DOMAIN", | ||||||
|         "NEXTCLOUD_DATA_DIR": "/var/data", |         "NEXTCLOUD_DATA_DIR": "/var/data", | ||||||
|         "MYSQL_DATABASE": "#MARIADB_DATABASE", |         "POSTGRES_DB": "#POSTGRES_DB", | ||||||
|         "MYSQL_USER": "#MARIADB_USER", |         "POSTGRES_USER": "#POSTGRES_USER", | ||||||
|         "MYSQL_PASSWORD": "#MARIADB_PASSWORD", |         "POSTGRES_PASSWORD": "#POSTGRES_PASSWORD", | ||||||
|         "MYSQL_HOST": "nextcloudmysql-db", |         "POSTGRES_HOST": "nextcloudpostgres-db", | ||||||
|         "REDIS_HOST": "nextcloud-redis" |         "REDIS_HOST": "nextcloud-redis" | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @@ -34,47 +34,31 @@ | |||||||
|             "DEPEND": "null", |             "DEPEND": "null", | ||||||
|             "START_ON_BOOT": "false", |             "START_ON_BOOT": "false", | ||||||
|             "ENTRYPOINT": "sh -c", |             "ENTRYPOINT": "sh -c", | ||||||
|             "CMD": "mkdir -p /etc/user/data/nextcloud/db && mkdir -p /etc/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", |             "PRE_START": "null", | ||||||
|             "POST_START": "null" |             "POST_START": "null" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "IMAGE": "mariadb:10.5", |             "IMAGE": "postgres:15-alpine", | ||||||
|             "UPDATE": "true", |             "UPDATE": "true", | ||||||
|             "NAME": "nextcloudmysql-db", |             "NAME": "nextcloudpostgres-db", | ||||||
|             "MEMORY": "256M", |             "MEMORY": "256M", | ||||||
|             "NETWORK": "nextcloud-net", |             "NETWORK": "nextcloud-net", | ||||||
|             "SELECTOR": "nextcloudmysql", |             "SELECTOR": "nextcloudpostgres", | ||||||
|             "VOLUMES": [ |             "VOLUMES": [ | ||||||
|                 { |                 { | ||||||
|                     "SOURCE": "/etc/user/data/nextcloud/db", |                     "SOURCE": "/etc/user/data/nextcloud/db", | ||||||
|                     "DEST": "/var/lib/mysql", |                     "DEST": "/var/lib/postgres", | ||||||
|                     "TYPE": "rw" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "/etc/system/log/nextcloud/db", |  | ||||||
|                     "DEST": "/var/lib/mysql/mysql-bin", |  | ||||||
|                     "TYPE": "rw" |                     "TYPE": "rw" | ||||||
|                 } |                 } | ||||||
|             ], |             ], | ||||||
|             "PORTS": [ |             "PORTS": [ | ||||||
|                 { |                 { | ||||||
|                     "SOURCE": "null", |                     "SOURCE": "null", | ||||||
|                     "DEST": "3306", |                     "DEST": "5432", | ||||||
|                     "TYPE": "tcp" |                     "TYPE": "tcp" | ||||||
|                 } |                 } | ||||||
|             ], |             ], | ||||||
|             "READYNESS": [ |  | ||||||
|                 { |  | ||||||
|                     "tcp": "3306" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "HTTP": "" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "EXEC": "/ready.sh" |  | ||||||
|                 } |  | ||||||
|             ], |  | ||||||
|             "ENV_FILES": [ |             "ENV_FILES": [ | ||||||
|                 "/etc/user/secret/nextcloud/nextcloud.json" |                 "/etc/user/secret/nextcloud/nextcloud.json" | ||||||
|             ], |             ], | ||||||
| @@ -182,7 +166,7 @@ | |||||||
|             ] |             ] | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "IMAGE": "registry.format.hu/nextcloud-nginx:1.23.1", |             "IMAGE": "safebox/nextcloud-nginx:latest", | ||||||
|             "UPDATE": "true", |             "UPDATE": "true", | ||||||
|             "NAME": "nextcloudnginx", |             "NAME": "nextcloudnginx", | ||||||
|             "ROLES": "backend-www", |             "ROLES": "backend-www", | ||||||
|   | |||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -29,7 +29,7 @@ | |||||||
|                     "PORT": "3000" |                     "PORT": "3000" | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                     "DOMAIN": "#OUTLINE_DOMAIN" |                     "DOMAIN": "#DOMAIN" | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                     "SMARTHOST_PROXY_PATH": "/smarthost-domains" |                     "SMARTHOST_PROXY_PATH": "/smarthost-domains" | ||||||
|   | |||||||
| @@ -7,6 +7,31 @@ | |||||||
|     "outlineapp": { |     "outlineapp": { | ||||||
|         "SECRET_KEY": "#SECRET_KEY", |         "SECRET_KEY": "#SECRET_KEY", | ||||||
|         "UTILS_SECRET": "#UTILS_SECRET", |         "UTILS_SECRET": "#UTILS_SECRET", | ||||||
|         "DATABASE_URL": "postgres://#DB_USER:#DB_PASSWORD@outlinepostgres-db:5432/#DB_NAME" |         "DATABASE_URL": "postgres://#DB_USER:#DB_PASSWORD@outlinepostgres-db:5432/#DB_NAME", | ||||||
|  |         "SLACK_CLIENT_ID": "#SLACK_CLIENT_ID", | ||||||
|  |         "SLACK_CLIENT_SECRET": "#SLACK_CLIENT_SECRET", | ||||||
|  |         "GOOGLE_CLIENT_ID": "#GOOGLE_CLIENT_ID", | ||||||
|  |         "GOOGLE_CLIENT_SECRET": "#GOOGLE_CLIENT_SECRET", | ||||||
|  |         "AZURE_CLIENT_ID": "#AZURE_CLIENT_ID", | ||||||
|  |         "AZURE_CLIENT_SECRET": "#AZURE_CLIENT_SECRET", | ||||||
|  |         "AZURE_RESOURCE_APP_ID": "#AZURE_RESOURCE_APP_ID", | ||||||
|  |         "DISCORD_CLIENT_ID": "#DISCORD_CLIENT_ID", | ||||||
|  |         "DISCORD_CLIENT_SECRET": "#DISCORD_CLIENT_SECRET", | ||||||
|  |         "DISCORD_SERVER_ID": "#DISCORD_SERVER_ID", | ||||||
|  |         "OIDC_CLIENT_ID": "#OIDC_CLIENT_ID", | ||||||
|  |         "OIDC_CLIENT_SECRET": "#OIDC_CLIENT_SECRET", | ||||||
|  |         "OIDC_AUTH_URI": "#OIDC_AUTH_URI", | ||||||
|  |         "OIDC_TOKEN_URI": "#OIDC_TOKEN_URI", | ||||||
|  |         "OIDC_USERINFO_URI": "#OIDC_USERINFO_URI", | ||||||
|  |         "OIDC_LOGOUT_URI": "#OIDC_LOGOUT_URI", | ||||||
|  |         "OIDC_USERNAME_CLAIM": "#OIDC_USERNAME_CLAIM", | ||||||
|  |         "OIDC_DISPLAY_NAME": "#OIDC_DISPLAY_NAME", | ||||||
|  |         "OIDC_SCOPES": "#OIDC_SCOPES", | ||||||
|  |         "SMTP_HOST": "#SMTP_HOST", | ||||||
|  |         "SMTP_PORT": "#SMTP_PORT", | ||||||
|  |         "SMTP_SERVICE": "#SMTP_SERVICE", | ||||||
|  |         "SMTP_USERNAME": "#SMTP_USERNAME", | ||||||
|  |         "SMTP_PASSWORD": "#SMTP_PASSWORD", | ||||||
|  |         "SMTP_FROM_EMAIL": "#SMTP_FROM_EMAIL" | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @@ -108,10 +108,10 @@ | |||||||
|                     "DATABASE_CONNECTION_POOL_MAX": "" |                     "DATABASE_CONNECTION_POOL_MAX": "" | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                     "REDIS_URL": "redis://outlineredis-app:6379" |                     "REDIS_URL": "redis://outlineredis-server:6379" | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                     "URL": "https://#OUTLINE_DOMAIN" |                     "URL": "https://#DOMAIN" | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                     "PORT": 3000 |                     "PORT": 3000 | ||||||
|   | |||||||
| @@ -1,5 +1,9 @@ | |||||||
| { | { | ||||||
|     "name": "outline", |     "name": "outline", | ||||||
|  |     "title": "Outline", | ||||||
|  |     "subtitle": "Knowledge Base", | ||||||
|  |     "description": "Outline is an open-source, self-hosted knowledge management and wiki application designed for teams to organize documentation, internal knowledge bases, onboarding guides, and notes.", | ||||||
|  |     "icon": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCA1MCA1MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIiByeD0iNyIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTMwLjMzMzMgNDIuMjUyNlY0My4zMDQ0QzMwLjMzMzMgNDQuNzkzMSAyOS4xMzk0IDQ2IDI3LjY2NjcgNDZDMjcuMjA4NyA0NiAyNi43NTg1IDQ1Ljg4MDggMjYuMzU5MyA0NS42NTM4TDEwLjM1OTMgMzYuNTU1OUM5LjUxOTY4IDM2LjA3ODQgOSAzNS4xODAzIDkgMzQuMjA2NFYxNS43OTRDOSAxNC44MjAyIDkuNTE5NjggMTMuOTIyIDEwLjM1OTMgMTMuNDQ0NkwyNi4zNTkzIDQuMzQ2NjdDMjcuNjQyOSAzLjYxNjc3IDI5LjI2ODggNC4wNzY5OSAyOS45OTA4IDUuMzc0NTdDMzAuMjE1NCA1Ljc3ODA2IDMwLjMzMzMgNi4yMzMyMSAzMC4zMzMzIDYuNjk2MTZWNy43NDc4OEwzMi4yMzM3IDcuMTcxNTZDMzMuNjQ0NCA2Ljc0Mzc2IDM1LjEzMSA3LjU1Mjk2IDM1LjU1NDIgOC45Nzg5NEMzNS42Mjg4IDkuMjMwMjkgMzUuNjY2NyA5LjQ5MTIzIDM1LjY2NjcgOS43NTM1N1YxMC44NDc5TDM4LjAwMjYgMTAuNTUyOEMzOS40NjQgMTAuMzY4MSA0MC43OTY3IDExLjQxNiA0MC45Nzk0IDEyLjg5MzJDNDAuOTkzMiAxMy4wMDQyIDQxIDEzLjExNTggNDEgMTMuMjI3NlYzNi43NzI4QzQxIDM4LjI2MTcgMzkuODA2MSAzOS40Njg2IDM4LjMzMzMgMzkuNDY4NkMzOC4yMjI3IDM5LjQ2ODYgMzguMTEyMyAzOS40NjE2IDM4LjAwMjYgMzkuNDQ3N0wzNS42NjY3IDM5LjE1MjZWNDAuMjQ3QzM1LjY2NjcgNDEuNzM1NyAzNC40NzI3IDQyLjk0MjYgMzMgNDIuOTQyNkMzMi43NDA1IDQyLjk0MjYgMzIuNDgyMyA0Mi45MDQzIDMyLjIzMzcgNDIuODI4OUwzMC4zMzMzIDQyLjI1MjZaTTMwLjMzMzMgMzkuNDM4MkwzMyA0MC4yNDdWMjUuMDAwM1Y5Ljc1MzU3TDMwLjMzMzMgMTAuNTYyMlYzOS40MzgyWk0zNS42NjY3IDEzLjU2NDZWMzYuNDM2TDM4LjMzMzMgMzYuNzcyOFYxMy4yMjc2TDM1LjY2NjcgMTMuNTY0NlpNMTEuNjY2NyAxNS43OTRWMzQuMjA2NEwyNy42NjY3IDQzLjMwNDRWNi42OTYxNkwxMS42NjY3IDE1Ljc5NFpNMTQuMzMzMyAxNy41ODcxTDE3IDE2LjIzOTJWMzMuNzYxMkwxNC4zMzMzIDMyLjQxMzNWMTcuNTg3MVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=", | ||||||
|     "fields": [ |     "fields": [ | ||||||
|         { |         { | ||||||
|             "description": "Secret key", |             "description": "Secret key", | ||||||
| @@ -44,10 +48,178 @@ | |||||||
|             "generated": "random|sha256|20" |             "generated": "random|sha256|20" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "description": "Please add Outline domain:", |             "description": "Domain:", | ||||||
|             "key": "DOMAIN", |             "key": "DOMAIN", | ||||||
|             "value": "", |             "value": "", | ||||||
|             "required": "true" |             "required": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "Slack client ID", | ||||||
|  |             "key": "SLACK_CLIENT_ID", | ||||||
|  |             "value": "", | ||||||
|  |             "info": "Create a new app in your Slack workspace at https://api.slack.com/apps?new_app=1 and add 'Sign in with Slack' under 'Add features and functionality'. Set the Redirect URL to 'https://<your-domain>/auth/slack.callback'.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "Slack client secret", | ||||||
|  |             "key": "SLACK_CLIENT_SECRET", | ||||||
|  |             "value": "", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "Google client ID", | ||||||
|  |             "key": "GOOGLE_CLIENT_ID", | ||||||
|  |             "value": "", | ||||||
|  |             "info": "Create OAuth 2.0 credentials in Google Cloud Console at https://console.cloud.google.com/apis/credentials and set the Redirect URL to 'https://<your-domain>/auth/google.callback'.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "Google client secret", | ||||||
|  |             "key": "GOOGLE_CLIENT_SECRET", | ||||||
|  |             "value": "", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "Azure client ID", | ||||||
|  |             "key": "AZURE_CLIENT_ID", | ||||||
|  |             "value": "", | ||||||
|  |             "info": "Register an application in Azure AD at https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade and set the Redirect URL to 'https://<your-domain>/auth/azuread.callback'.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "Azure client secret", | ||||||
|  |             "key": "AZURE_CLIENT_SECRET", | ||||||
|  |             "value": "", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "Azure resource app ID", | ||||||
|  |             "key": "AZURE_RESOURCE_APP_ID", | ||||||
|  |             "value": "", | ||||||
|  |             "info": "This is usually the same as the client ID, but can vary based on your Azure AD setup.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "Discord client ID", | ||||||
|  |             "key": "DISCORD_CLIENT_ID", | ||||||
|  |             "value": "", | ||||||
|  |             "info": "Create an application in Discord Developer Portal at https://discord.com/developers/applications and set the Redirect URL to 'https://<your-domain>/auth/discord.callback'.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "Discord client secret", | ||||||
|  |             "key": "DISCORD_CLIENT_SECRET", | ||||||
|  |             "value": "", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "Discord server ID (optional)", | ||||||
|  |             "key": "DISCORD_SERVER_ID", | ||||||
|  |             "value": "", | ||||||
|  |             "info": "(Optional) If you want to restrict login to members of a specific Discord server, provide the server ID here.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "OpenID Connect client ID", | ||||||
|  |             "key": "OIDC_CLIENT_ID", | ||||||
|  |             "value": "", | ||||||
|  |             "info": "Set up an OpenID Connect application with your provider and set the Redirect URL to 'https://<your-domain>/auth/oidc.callback'.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "OpenID Connect client secret", | ||||||
|  |             "key": "OIDC_CLIENT_SECRET", | ||||||
|  |             "value": "", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "OpenID Connect provider auth URI", | ||||||
|  |             "key": "OIDC_AUTH_URI", | ||||||
|  |             "value": "", | ||||||
|  |             "info": "The authorization endpoint URL of your OpenID Connect provider.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "OpenID Connect provider token URI", | ||||||
|  |             "key": "OIDC_TOKEN_URI", | ||||||
|  |             "value": "", | ||||||
|  |             "info": "The token endpoint URL of your OpenID Connect provider.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "OpenID Connect provider userinfo URI", | ||||||
|  |             "key": "OIDC_USERINFO_URI", | ||||||
|  |             "value": "", | ||||||
|  |             "info": "The userinfo endpoint URL of your OpenID Connect provider.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "OpenID Connect provider logout URI (optional)", | ||||||
|  |             "key": "OIDC_LOGOUT_URI", | ||||||
|  |             "value": "", | ||||||
|  |             "info": "(Optional) The logout endpoint URL of your OpenID Connect provider, if supported.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "OpenID Connect username claim", | ||||||
|  |             "key": "OIDC_USERNAME_CLAIM", | ||||||
|  |             "value": "preferred_username", | ||||||
|  |             "info": "The claim in the ID token or userinfo response to use as the username. Defaults to 'preferred_username'.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "OpenID Connect display name", | ||||||
|  |             "key": "OIDC_DISPLAY_NAME", | ||||||
|  |             "value": "OpenID Connect", | ||||||
|  |             "info": "The display name for the OpenID Connect authentication option. Defaults to 'OpenID Connect'.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "OpenID Connect scopes", | ||||||
|  |             "key": "OIDC_SCOPES", | ||||||
|  |             "value": "openid profile email", | ||||||
|  |             "info": "Space-separated list of scopes to request during authentication. Defaults to 'openid profile email'.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "SMTP host", | ||||||
|  |             "key": "SMTP_HOST", | ||||||
|  |             "value": "", | ||||||
|  |             "info": "Used for sending invitation and password reset emails. Leave blank to disable email functionality.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "SMTP port", | ||||||
|  |             "key": "SMTP_PORT", | ||||||
|  |             "value": "587", | ||||||
|  |             "info": "(Optional) The port to connect to on the SMTP server. Defaults to 587.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "SMTP service (e.g., gmail)", | ||||||
|  |             "key": "SMTP_SERVICE", | ||||||
|  |             "value": "", | ||||||
|  |             "info": "Used for sending invitation and password reset emails. Leave blank to disable email functionality.", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "SMTP username (email address)", | ||||||
|  |             "key": "SMTP_USERNAME", | ||||||
|  |             "value": "", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "SMTP password", | ||||||
|  |             "key": "SMTP_PASSWORD", | ||||||
|  |             "value": "", | ||||||
|  |             "advanced": "true" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "description": "From email address", | ||||||
|  |             "key": "SMTP_FROM_EMAIL", | ||||||
|  |             "value": "", | ||||||
|  |             "info": "(Optional) The email address that emails will be sent from. Defaults to the SMTP username if not set.", | ||||||
|  |             "advanced": "true" | ||||||
|         } |         } | ||||||
|     ] |     ] | ||||||
| } | } | ||||||
							
								
								
									
										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" |  | ||||||
|                 } |  | ||||||
|         ] |  | ||||||
| } |  | ||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -15,44 +15,34 @@ | |||||||
|                     "SOURCE": "USER_DATA", |                     "SOURCE": "USER_DATA", | ||||||
|                     "DEST": "/etc/user/data", |                     "DEST": "/etc/user/data", | ||||||
|                     "TYPE": "rw" |                     "TYPE": "rw" | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "SYSTEM_LOG", |  | ||||||
|                     "DEST": "/etc/system/log", |  | ||||||
|                     "TYPE": "rw" |  | ||||||
|                 } |                 } | ||||||
|             ], |             ], | ||||||
|             "EXTRA": "--rm", |             "EXTRA": "--rm", | ||||||
|             "DEPEND": "null", |             "DEPEND": "null", | ||||||
|             "START_ON_BOOT": "false", |             "START_ON_BOOT": "false", | ||||||
|             "ENTRYPOINT": "sh -c", |             "ENTRYPOINT": "sh -c", | ||||||
|             "CMD": "mkdir -p /etc/user/data/vaultwarden/data && mkdir -p /etc/user/data/vaultwarden/db && 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", |             "PRE_START": "null", | ||||||
|             "POST_START": "null" |             "POST_START": "null" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "IMAGE": "mariadb:latest", |             "IMAGE": "postgres:15-alpine", | ||||||
|             "UPDATE": "true", |             "UPDATE": "true", | ||||||
|             "NAME": "vaultwardenmysql-db", |             "NAME": "vaultwardenpostgres-db", | ||||||
|             "MEMORY": "256M", |             "MEMORY": "256M", | ||||||
|             "NETWORK": "vaultwarden-net", |             "NETWORK": "vaultwarden-net", | ||||||
|             "SELECTOR": "vaultwardenmysql-db", |             "SELECTOR": "vaultwardenpostgres-db", | ||||||
|             "VOLUMES": [ |             "VOLUMES": [ | ||||||
|                 { |                 { | ||||||
|                     "SOURCE": "/etc/user/data/vaultwarden/db", |                     "SOURCE": "/etc/user/data/vaultwarden/db", | ||||||
|                     "DEST": "/var/lib/mysql", |                     "DEST": "/var/lib/postgres", | ||||||
|                     "TYPE": "rw" |  | ||||||
|                 }, |  | ||||||
|                 { |  | ||||||
|                     "SOURCE": "/etc/system/log/vaultwarden/db", |  | ||||||
|                     "DEST": "/var/lib/mysql/mysql-bin", |  | ||||||
|                     "TYPE": "rw" |                     "TYPE": "rw" | ||||||
|                 } |                 } | ||||||
|             ], |             ], | ||||||
|             "PORTS": [ |             "PORTS": [ | ||||||
|                 { |                 { | ||||||
|                     "SOURCE": "null", |                     "SOURCE": "null", | ||||||
|                     "DEST": "3306", |                     "DEST": "5432", | ||||||
|                     "TYPE": "tcp" |                     "TYPE": "tcp" | ||||||
|                 } |                 } | ||||||
|             ], |             ], | ||||||
|   | |||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -1,12 +1,12 @@ | |||||||
| { | { | ||||||
|     "vaultwardenmysql": { |     "vaultwardenpostgres": { | ||||||
|         "MARIADB_DATABASE": "#MARIADB_DATABASE", |         "POSTGRES_DB": "#POSTGRES_DB", | ||||||
|         "MARIADB_USER": "#MARIADB_USER", |         "POSTGRES_USER": "#POSTGRES_USER", | ||||||
|         "MARIADB_PASSWORD": "#MARIADB_PASSWORD", |         "POSTGRES_PASSWORD": "#POSTGRES_PASSWORD", | ||||||
|         "MARIADB_ROOT_PASSWORD": "#MARIADB_ROOT_PASSWORD" |         "POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD" | ||||||
|     }, |     }, | ||||||
|     "vaultwardenapp": { |     "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", |         "ADMIN_TOKEN": "#ADMIN_TOKEN", | ||||||
|         "VAULTWARDEN_DOMAIN": "#VAULTWARDEN_DOMAIN", |         "VAULTWARDEN_DOMAIN": "#VAULTWARDEN_DOMAIN", | ||||||
|         "VAULTWARDEN_SMTP_PASSWORD": "#VAULTWARDEN_SMTP_PASSWORD" |         "VAULTWARDEN_SMTP_PASSWORD": "#VAULTWARDEN_SMTP_PASSWORD" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user