Add initial configuration files for Immich service and firewall
This commit is contained in:
60
immich/domain-immich.json
Normal file
60
immich/domain-immich.json
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"SERVICE_NAME": "immich",
|
||||||
|
"DOMAIN": "#IMMICH_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": "immich"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PORT": "2283"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DOMAIN": "#IMMICH_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
immich/firewall-immich.json
Normal file
75
immich/firewall-immich.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": "immich"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TYPE": "tcp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TARGET_PORT": "2283"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"COMMENT": "proxy for immich"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EXTRA": "--privileged --rm",
|
||||||
|
"DEPEND": "null",
|
||||||
|
"START_ON_BOOT": "false",
|
||||||
|
"CMD": "null",
|
||||||
|
"PRE_START": "null",
|
||||||
|
"POST_START": "null"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
12
immich/immich-secret.json
Normal file
12
immich/immich-secret.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"immichpostgres": {
|
||||||
|
"POSTGRES_DB": "#POSTGRES_DATABASE_NAME",
|
||||||
|
"POSTGRES_USER": "#POSTGRES_USERNAME",
|
||||||
|
"POSTGRES_PASSWORD": "#POSTGRESDB_PASSWORD"
|
||||||
|
},
|
||||||
|
"immichapp": {
|
||||||
|
"DB_DATABASE_NAME": "#POSTGRES_DATABASE_NAME",
|
||||||
|
"DB_USERNAME": "#POSTGRES_USERNAME",
|
||||||
|
"DB_PASSWORD": "#POSTGRESDB_PASSWORD"
|
||||||
|
}
|
||||||
|
}
|
146
immich/service-immich.json
Normal file
146
immich/service-immich.json
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"SERVICE_NAME": "immich",
|
||||||
|
"DOMAIN": "#IMMICH_DOMAIN"
|
||||||
|
},
|
||||||
|
"containers": [
|
||||||
|
{
|
||||||
|
"IMAGE": "alpine:latest",
|
||||||
|
"UPDATE": "true",
|
||||||
|
"NAME": "immich-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/immich/db && /etc/user/data/immich/upload",
|
||||||
|
"PRE_START": "null",
|
||||||
|
"POST_START": "null"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"IMAGE": "tensorchord/pgvecto-rs:pg14-v0.2.0",
|
||||||
|
"UPDATE": "true",
|
||||||
|
"NAME": "immichpostgres-db",
|
||||||
|
"MEMORY": "256M",
|
||||||
|
"NETWORK": "immich-net",
|
||||||
|
"SELECTOR": "immichpostgres",
|
||||||
|
"VOLUMES": [
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/user/data/immich/db",
|
||||||
|
"DEST": "/var/lib/postgres",
|
||||||
|
"TYPE": "rw"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"PORTS": [
|
||||||
|
{
|
||||||
|
"SOURCE": "null",
|
||||||
|
"DEST": "5432",
|
||||||
|
"TYPE": "tcp"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ENV_FILES": [
|
||||||
|
"/etc/user/secret/immich/immich.json"
|
||||||
|
],
|
||||||
|
"EXTRA": "--restart always",
|
||||||
|
"DEPEND": "null",
|
||||||
|
"START_ON_BOOT": "false",
|
||||||
|
"CMD": "null",
|
||||||
|
"PRE_START": "null",
|
||||||
|
"POST_START": "null"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"IMAGE": "valkey/valkey:8-bookworm",
|
||||||
|
"UPDATE": "true",
|
||||||
|
"NAME": "immichredis-app",
|
||||||
|
"MEMORY": "256M",
|
||||||
|
"NETWORK": "immich-net",
|
||||||
|
"SELECTOR": "immichredis",
|
||||||
|
"PORTS": [
|
||||||
|
{
|
||||||
|
"SOURCE": "null",
|
||||||
|
"DEST": "6379",
|
||||||
|
"TYPE": "tcp"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EXTRA": "--restart always",
|
||||||
|
"DEPEND": "null",
|
||||||
|
"START_ON_BOOT": "false",
|
||||||
|
"CMD": "null",
|
||||||
|
"PRE_START": "null",
|
||||||
|
"POST_START": "null"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"IMAGE": "immich-app/immich-server:#IMMICH_VERSION",
|
||||||
|
"UPDATE": "true",
|
||||||
|
"NAME": "immichapp-app",
|
||||||
|
"MEMORY": "1024M",
|
||||||
|
"NETWORK": "immich-net",
|
||||||
|
"SELECTOR": "immichapp",
|
||||||
|
"PORTS": [
|
||||||
|
{
|
||||||
|
"SOURCE": "null",
|
||||||
|
"DEST": "2283",
|
||||||
|
"TYPE": "tcp"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"VOLUMES": [
|
||||||
|
{
|
||||||
|
"SOURCE": "/etc/user/data/immich/upload",
|
||||||
|
"DEST": "/usr/src/app/upload",
|
||||||
|
"TYPE": "rw"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ENVS": [
|
||||||
|
{
|
||||||
|
"DB_HOSTNAME": "immichpostgres-db"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"REDIS_HOSTNAME": "immichredis-app"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"UPLOAD_LOCATION": "/etc/user/data/immich/uploads"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"IMMICH_MACHINE_LEARNING_URL": "immichmachine-learning"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TZ": "#IMMICH_TZ"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"IMMICH_VERSION": "#IMMICH_VERSION"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EXTRA": "",
|
||||||
|
"DEPEND": "null",
|
||||||
|
"START_ON_BOOT": "true",
|
||||||
|
"CMD": "null",
|
||||||
|
"PRE_START": "null",
|
||||||
|
"POST_START": [
|
||||||
|
"firewall-immich",
|
||||||
|
"domain-immich"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"IMAGE": "immich-app/immich-machine-learning:#IMMICH_VERSION",
|
||||||
|
"UPDATE": "true",
|
||||||
|
"NAME": "immichmachine-learning",
|
||||||
|
"ROLES": "backend-www",
|
||||||
|
"MEMORY": "1024M",
|
||||||
|
"NETWORK": "immich-net",
|
||||||
|
"SELECTOR": "immichmachine-learning",
|
||||||
|
"DEPEND": "null",
|
||||||
|
"START_ON_BOOT": "true",
|
||||||
|
"CMD": "null",
|
||||||
|
"PRE_START": "null",
|
||||||
|
"POST_START": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
65
immich/template.json
Normal file
65
immich/template.json
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
{
|
||||||
|
"name": "immich",
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"description": "Please add Immich domain:",
|
||||||
|
"key": "IMMICH_DOMAIN",
|
||||||
|
"value": "",
|
||||||
|
"required": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Please add Immich timezone:",
|
||||||
|
"key": "IMMICH_TZ",
|
||||||
|
"value": "Europe/Budapest",
|
||||||
|
"required": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Please add Immich version:",
|
||||||
|
"key": "IMMICH_VERSION",
|
||||||
|
"value": "version",
|
||||||
|
"required": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Please add Immich redis password:",
|
||||||
|
"key": "IMMICH_REDIS_PASSWORD",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Please add Immich postgres password:",
|
||||||
|
"key": "IMMICH_POSTGRES_PASSWORD",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "POSTGRES database name",
|
||||||
|
"key": "POSTGRES_DATABASE_NAME",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": "random|md5|8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "POSTGRES username",
|
||||||
|
"key": "POSTGRES_USERNAME",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": "random|md5|8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "POSTGRES password for user",
|
||||||
|
"key": "POSTGRESDB_PASSWORD",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": "random|md5|12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "POSTGRES root user password",
|
||||||
|
"key": "POSTGRESDB_PASSWORD",
|
||||||
|
"value": "",
|
||||||
|
"required": "true",
|
||||||
|
"generated": "random|sha256|20"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Reference in New Issue
Block a user