-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.yaml
More file actions
163 lines (154 loc) · 4.33 KB
/
compose.yaml
File metadata and controls
163 lines (154 loc) · 4.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
#
# Immich for FreeBSD (Daemonless)
#
# Drop-in compatible with official Immich docker-compose.yml
#
# Prerequisites:
# pkg install podman-suite py311-podman-compose
#
# Usage:
# 1. Copy example.env to .env and edit
# 2. Run: podman-compose up -d
#
name: immich
x-daemonless:
title: Immich
icon: ':simple-googlephotos:'
category: Photos & Media
description: High performance self-hosted photo and video management solution.
upstream_url: https://github.com/immich-app/immich
web_url: https://immich.app/
type: stack
appjail:
director:
options:
- alias:
- ip4_inherit:
services:
immich-server:
name: immich_server
priority: 100
options:
- from: ghcr.io/daemonless/immich-server:latest
volumes:
- immich-data: /data
oci:
environment:
- DB_HOSTNAME: 127.0.0.1
- REDIS_HOSTNAME: 127.0.0.1
- IMMICH_MACHINE_LEARNING_URL: http://127.0.0.1:3003
- TZ: "!ENV '${TZ}'"
immich-machine-learning:
name: immich_machine_learning
options:
- from: ghcr.io/daemonless/immich-ml:latest
oci:
environment:
- HF_HOME: /cache/huggingface
- MPLCONFIGDIR: /tmp
- TZ: "!ENV '${TZ}'"
volumes:
- model-cache: /cache
redis:
name: immich_redis
options:
- from: ghcr.io/daemonless/redis:latest
oci:
environment:
- LANG: C.UTF-8
- TZ: "!ENV '${TZ}'"
volumes:
- redis-data: /config
database:
name: immich_postgres
options:
- from: ghcr.io/daemonless/immich-postgres:latest
- template: "!ENV '${PWD}/immich-postgres-template.conf'"
oci:
environment:
- POSTGRES_PASSWORD: "!ENV '${DB_PASSWORD}'"
- POSTGRES_USER: "!ENV '${DB_USERNAME}'"
- POSTGRES_DB: "!ENV '${DB_DATABASE_NAME}'"
volumes:
- db-data: /var/lib/postgresql/data
volumes:
immich-data:
device: "!ENV '${UPLOAD_LOCATION}'"
owner: 1000
group: 1000
model-cache:
device: "!ENV '${CACHE_LOCATION}'"
redis-data:
device: "!ENV '${REDIS_DATA_LOCATION}'"
db-data:
device: "!ENV '${DB_DATA_LOCATION}'"
docs:
manual: true
env:
UPLOAD_LOCATION: Path to store uploaded media
DB_DATA_LOCATION: Path to store database files
DB_PASSWORD: PostgreSQL database password
DB_USERNAME: PostgreSQL username
DB_DATABASE_NAME: PostgreSQL database name
TZ: Timezone
volumes:
/data: Media storage (mapped to UPLOAD_LOCATION)
ports:
2283: Web UI
services:
immich-server:
container_name: immich_server
image: ghcr.io/daemonless/immich-server:latest
network_mode: host
volumes:
- ${UPLOAD_LOCATION}:/data
- /etc/localtime:/etc/localtime:ro
environment:
DB_HOSTNAME: localhost
REDIS_HOSTNAME: localhost
IMMICH_MACHINE_LEARNING_URL: http://localhost:3003
env_file:
- .env
depends_on:
- redis
- database
- immich-machine-learning
restart: always
immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/daemonless/immich-ml:latest
network_mode: host
environment:
HF_HOME: /cache/huggingface
MPLCONFIGDIR: /tmp
volumes:
- model-cache:/cache
env_file:
- .env
restart: always
redis:
container_name: immich_redis
image: ghcr.io/daemonless/redis:latest
network_mode: host
volumes:
- /etc/localtime:/etc/localtime:ro
- redis-data:/config
restart: always
database:
container_name: immich_postgres
image: ghcr.io/daemonless/immich-postgres:latest
network_mode: host
# FreeBSD requires sysvipc for PostgreSQL shared memory
annotations:
org.freebsd.jail.allow.sysvipc: "true"
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
volumes:
- /etc/localtime:/etc/localtime:ro
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
restart: always
volumes:
model-cache:
redis-data: