64 lines
2 KiB
Python
64 lines
2 KiB
Python
assert node.has_bundle('docker-engine')
|
|
assert node.has_bundle('redis')
|
|
assert not node.has_bundle('postgresql') # docker container uses that port
|
|
|
|
defaults = {
|
|
'docker-engine': {
|
|
'containers': {
|
|
'immich': {
|
|
'image': 'ghcr.io/imagegenius/immich:latest',
|
|
'environment': {
|
|
'DB_DATABASE_NAME': 'immich',
|
|
'DB_HOSTNAME': 'host.docker.internal',
|
|
'DB_PASSWORD': repo.vault.password_for(f'{node.name} postgresql immich'),
|
|
'DB_USERNAME': 'immich',
|
|
'REDIS_HOSTNAME': 'host.docker.internal',
|
|
},
|
|
'volumes': {
|
|
'config': '/config',
|
|
'libraries': '/libraries',
|
|
'photos': '/photos',
|
|
},
|
|
'needs': {
|
|
'svc_systemd:docker-postgresql14',
|
|
},
|
|
'requires': {
|
|
'docker-postgresql14.service',
|
|
},
|
|
},
|
|
'postgresql14': {
|
|
'image': 'tensorchord/pgvecto-rs:pg14-v0.2.0',
|
|
'environment': {
|
|
'POSTGRES_PASSWORD': repo.vault.password_for(f'{node.name} postgresql immich'),
|
|
'POSTGRES_USER': 'immich',
|
|
'POSTGRES_DB': 'immich',
|
|
},
|
|
'volumes': {
|
|
'database': '/var/lib/postgresql/data',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
'nginx': {
|
|
'vhosts': {
|
|
'immich': {
|
|
'locations': {
|
|
'/': {
|
|
'target': 'http://127.0.0.1:8080/',
|
|
'websockets': True,
|
|
'max_body_size': '500m',
|
|
},
|
|
#'/api/socket.io/': {
|
|
# 'target': 'http://127.0.0.1:8081/',
|
|
# 'websockets': True,
|
|
#},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
'redis': {
|
|
'bind': '0.0.0.0',
|
|
},
|
|
}
|
|
|
|
|