创建secret,存储database密码
echo "postgres" | podman secret create immich_db_password -
shared-external.network
:
[Network]
NetworkName=shared-external
immich.pod
:
[Unit]
Description=Immich pod
Requires=shared-external-network.service
After=shared-external-network.service
[Pod]
PodName=immich
Network=shared-external
PublishPort=2283:2283
[Install]
WantedBy=default.target
immich-server.container
:
[Unit]
Description=Immich server container
Requires=immich-pod.service immich-redis.service immich-postgres.service immich-machine-learning.service
After=immich-pod.service immich-redis.service immich-postgres.service immich-machine-learning.service
[Container]
ContainerName=immich-server
Image=ghcr.io/immich-app/immich-server:release
Environment=TZ=Asia/Shanghai
Environment=DB_DATABASE_NAME=immich
Environment=DB_USERNAME=postgres
Environment=DB_HOSTNAME=immich-postgres
Environment=REDIS_HOSTNAME=immich-redis
Secret=immich_db_password,type=env,target=DB_PASSWORD
Volume=/containers/immich/library:/usr/src/app/upload
Volume=/media/gallery:/gallery
Volume=/etc/localtime:/etc/localtime:ro
GroupAdd=keep-groups
AddDevice=/dev/dri/card0
AddDevice=/dev/dri/renderD128
Pod=immich.pod
[Service]
Restart=always
[Install]
WantedBy=immich-pod.service
immich-machine-learning.container
:
[Unit]
Description=Immich machine learning container
Requires=immich-pod.service
After=immich-pod.service
[Container]
ContainerName=immich-machine-learning
Image=ghcr.io/immich-app/immich-machine-learning:release
Environment=TZ=Asia/Shanghai
Volume=/containers/immich/model_cache:/cache
Pod=immich.pod
[Service]
Restart=always
[Install]
WantedBy=immich-pod.service
immich-redis.container
:
[Unit]
Description=Immich redis container
Requires=immich-pod.service
After=immich-pod.service
[Container]
ContainerName=redis
Image=docker.io/valkey/valkey@sha256:ff21bc0f8194dc9c105b769aeabf9585fea6a8ed649c0781caeac5cb3c247884
Environment=TZ=Asia/Shanghai
HealthCmd=redis-cli ping || exit 1
Pod=immich.pod
[Service]
Restart=always
[Install]
WantedBy=immich-pod.service
immich-database.container
:
[Unit]
Description=Immich database container
Requires=immich-pod.service
After=immich-pod.service
[Container]
ContainerName=database
Image=ghcr.io/immich-app/postgres@sha256:fa4f6e0971f454cd95fec5a9aaed2ed93d8f46725cc6bc61e0698e97dba96da1
Environment=TZ=Asia/Shanghai
Environment=DB_STORAGE_TYPE=HDD
Environment=POSTGRES_INITDB_ARGS=--data-checksums
Environment=POSTGRES_DB=immich
Environment=POSTGRES_USER=postgres
Secret=immich_db_password,type=env,target=POSTGRES_PASSWORD
Volume=/containers/immich/postgres:/var/lib/postgresql/data
Pod=immich.pod
[Service]
Restart=always
[Install]
WantedBy=immich-pod.service