noticket - migrate from photoprism to immich
This commit is contained in:
@@ -10,7 +10,7 @@ http:
|
|||||||
trusted_proxies:
|
trusted_proxies:
|
||||||
- 127.0.0.1
|
- 127.0.0.1
|
||||||
- 10.0.0.0/8
|
- 10.0.0.0/8
|
||||||
- 10.0.2.100
|
- 192.168.1.0/24
|
||||||
|
|
||||||
homeassistant:
|
homeassistant:
|
||||||
time_zone: America/New_York
|
time_zone: America/New_York
|
||||||
|
|||||||
@@ -12,18 +12,18 @@
|
|||||||
- "{{ hass_path }}/media"
|
- "{{ hass_path }}/media"
|
||||||
- "{{ hass_path }}/config"
|
- "{{ hass_path }}/config"
|
||||||
|
|
||||||
# - name: copy configuration and automations
|
- name: copy configuration and automations
|
||||||
# become: true
|
become: true
|
||||||
# ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
# backup: true
|
backup: true
|
||||||
# src: "files/hass/{{ item }}"
|
src: "files/hass/{{ item }}"
|
||||||
# dest: "{{ hass_path }}/config/{{ item }}"
|
dest: "{{ hass_path }}/config/{{ item }}"
|
||||||
# owner: "{{ podman_user }}"
|
owner: "{{ podman_user }}"
|
||||||
# group: "{{ podman_user }}"
|
group: "{{ podman_user }}"
|
||||||
# mode: 0644
|
mode: 0644
|
||||||
# notify: restorecon podman
|
notify: restorecon podman
|
||||||
# loop:
|
loop:
|
||||||
# - configuration.yaml
|
- configuration.yaml
|
||||||
# - automations.yaml
|
# - automations.yaml
|
||||||
|
|
||||||
- name: flush handlers
|
- name: flush handlers
|
||||||
|
|||||||
@@ -9,8 +9,10 @@
|
|||||||
mode: 0755
|
mode: 0755
|
||||||
notify: restorecon podman
|
notify: restorecon podman
|
||||||
loop:
|
loop:
|
||||||
- "{{ photos_path }}/mysql"
|
- "{{ photos_path }}/psql"
|
||||||
|
- "{{ photos_path }}/mlcache"
|
||||||
- "{{ photos_path }}/storage"
|
- "{{ photos_path }}/storage"
|
||||||
|
- "{{ photos_path }}/immich"
|
||||||
|
|
||||||
- name: flush handlers
|
- name: flush handlers
|
||||||
ansible.builtin.meta: flush_handlers
|
ansible.builtin.meta: flush_handlers
|
||||||
@@ -24,84 +26,116 @@
|
|||||||
opts: "username=photos,password={{ photos_cifs_pass }},uid={{ podman_subuid.stdout }},gid={{ podman_subuid.stdout }}"
|
opts: "username=photos,password={{ photos_cifs_pass }},uid={{ podman_subuid.stdout }},gid={{ podman_subuid.stdout }}"
|
||||||
state: mounted
|
state: mounted
|
||||||
|
|
||||||
|
- name: mount immich cifs
|
||||||
|
become: true
|
||||||
|
ansible.posix.mount:
|
||||||
|
src: "{{ immich_cifs_src }}"
|
||||||
|
path: "{{ photos_path }}/immich"
|
||||||
|
fstype: cifs
|
||||||
|
opts: "username=photos,password={{ photos_cifs_pass }},uid={{ podman_subuid.stdout }},gid={{ podman_subuid.stdout }}"
|
||||||
|
state: mounted
|
||||||
|
|
||||||
- import_tasks: podman/podman-check.yml
|
- import_tasks: podman/podman-check.yml
|
||||||
vars:
|
vars:
|
||||||
container_name: photos-db
|
container_name: immich_machine_learning
|
||||||
container_image: "{{ db_image }}"
|
container_image: "{{ ml_image }}"
|
||||||
|
|
||||||
- name: create photos-db container
|
- name: create immich-ml container
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ podman_user }}"
|
become_user: "{{ podman_user }}"
|
||||||
containers.podman.podman_container:
|
containers.podman.podman_container:
|
||||||
name: photos-db
|
name: immich_machine_learning
|
||||||
|
image: "{{ ml_image }}"
|
||||||
|
restart_policy: on-failure:3
|
||||||
|
log_driver: journald
|
||||||
|
network:
|
||||||
|
- shared
|
||||||
|
volumes:
|
||||||
|
- "{{ photos_path }}/mlcache:/cache"
|
||||||
|
|
||||||
|
- name: create systemd startup job for immich_machine_learning
|
||||||
|
include_tasks: podman/systemd-generate.yml
|
||||||
|
vars:
|
||||||
|
container_name: immich_machine_learning
|
||||||
|
|
||||||
|
- import_tasks: podman/podman-check.yml
|
||||||
|
vars:
|
||||||
|
container_name: immich_redis
|
||||||
|
container_image: "{{ redis_image }}"
|
||||||
|
|
||||||
|
- name: create immich-redis container
|
||||||
|
become: true
|
||||||
|
become_user: "{{ podman_user }}"
|
||||||
|
containers.podman.podman_container:
|
||||||
|
name: immich_redis
|
||||||
|
image: "{{ redis_image }}"
|
||||||
|
restart_policy: on-failure:3
|
||||||
|
log_driver: journald
|
||||||
|
network:
|
||||||
|
- shared
|
||||||
|
|
||||||
|
- name: create systemd startup job for immich_redis
|
||||||
|
include_tasks: podman/systemd-generate.yml
|
||||||
|
vars:
|
||||||
|
container_name: immich_redis
|
||||||
|
|
||||||
|
- import_tasks: podman/podman-check.yml
|
||||||
|
vars:
|
||||||
|
container_name: immich_postgres
|
||||||
|
container_image: "{{ db_image }}"
|
||||||
|
|
||||||
|
- name: create immich-db container
|
||||||
|
become: true
|
||||||
|
become_user: "{{ podman_user }}"
|
||||||
|
containers.podman.podman_container:
|
||||||
|
name: immich_postgres
|
||||||
image: "{{ db_image }}"
|
image: "{{ db_image }}"
|
||||||
restart_policy: on-failure:3
|
restart_policy: on-failure:3
|
||||||
log_driver: journald
|
log_driver: journald
|
||||||
network:
|
network:
|
||||||
- shared
|
- shared
|
||||||
env:
|
env:
|
||||||
MARIADB_AUTO_UPGRADE: "1"
|
POSTGRES_DATABASE: photos
|
||||||
MYSQL_ROOT_PASSWORD: "{{ photos_db_root_pass }}"
|
POSTGRES_USER: photos
|
||||||
MYSQL_DATABASE: photos
|
POSTGRES_PASSWORD: "{{ photos_db_pass }}"
|
||||||
MYSQL_USER: photos
|
POSTGRES_INITDB_ARGS: "--data-checksums"
|
||||||
MYSQL_PASSWORD: "{{ photos_db_pass }}"
|
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ photos_path }}/mysql:/var/lib/mysql"
|
- "{{ photos_path }}/psql:/var/lib/postgresql/data"
|
||||||
|
|
||||||
- name: create systemd startup job for photos-db
|
- name: create systemd startup job for immich_postgres
|
||||||
include_tasks: podman/systemd-generate.yml
|
include_tasks: podman/systemd-generate.yml
|
||||||
vars:
|
vars:
|
||||||
container_name: photos-db
|
container_name: immich_postgres
|
||||||
|
|
||||||
- import_tasks: podman/podman-check.yml
|
- import_tasks: podman/podman-check.yml
|
||||||
vars:
|
vars:
|
||||||
container_name: photos
|
container_name: immich_server
|
||||||
container_image: "{{ image }}"
|
container_image: "{{ image }}"
|
||||||
|
|
||||||
- name: create photos container
|
- name: create immich container
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ podman_user }}"
|
become_user: "{{ podman_user }}"
|
||||||
containers.podman.podman_container:
|
containers.podman.podman_container:
|
||||||
name: photos
|
name: immich_server
|
||||||
image: "{{ image }}"
|
image: "{{ image }}"
|
||||||
restart_policy: on-failure:3
|
restart_policy: on-failure:3
|
||||||
log_driver: journald
|
log_driver: journald
|
||||||
network:
|
network:
|
||||||
- shared
|
- shared
|
||||||
env:
|
env:
|
||||||
PHOTOPRISM_ADMIN_PASSWORD: "{{ photos_user_pass }}"
|
REDIS_HOSTNAME: immich_redis
|
||||||
PHOTOPRISM_AUTH_MODE: "password"
|
DB_HOSTNAME: immich_postgres
|
||||||
PHOTOPRISM_SITE_URL: "https://photos.bdebyl.net/"
|
DB_DATABASE_NAME: photos
|
||||||
PHOTOPRISM_ORIGINALS_LIMIT: 5000
|
DB_USERNAME: photos
|
||||||
PHOTOPRISM_HTTP_COMPRESSION: "gzip"
|
DB_PASSWORD: "{{ photos_db_pass }}"
|
||||||
PHOTOPRISM_LOG_LEVEL: "info"
|
IMMICH_PORT: 8088
|
||||||
PHOTOPRISM_READONLY: "false"
|
|
||||||
PHOTOPRISM_EXPERIMENTAL: "false"
|
|
||||||
PHOTOPRISM_DISABLE_CHOWN: "false"
|
|
||||||
PHOTOPRISM_DISABLE_WEBDAV: "false"
|
|
||||||
PHOTOPRISM_DISABLE_SETTINGS: "false"
|
|
||||||
PHOTOPRISM_DISABLE_TENSORFLOW: "false"
|
|
||||||
PHOTOPRISM_DISABLE_FACES: "false"
|
|
||||||
PHOTOPRISM_DISABLE_CLASSIFICATION: "false"
|
|
||||||
PHOTOPRISM_DISABLE_RAW: "false"
|
|
||||||
PHOTOPRISM_RAW_PRESETS: "false"
|
|
||||||
PHOTOPRISM_JPEG_QUALITY: 85
|
|
||||||
PHOTOPRISM_DETECT_NSFW: "false"
|
|
||||||
PHOTOPRISM_UPLOAD_NSFW: "true"
|
|
||||||
PHOTOPRISM_DATABASE_DRIVER: "mysql"
|
|
||||||
PHOTOPRISM_DATABASE_SERVER: "photos-db:3306"
|
|
||||||
PHOTOPRISM_DATABASE_NAME: "photos"
|
|
||||||
PHOTOPRISM_DATABASE_USER: "photos"
|
|
||||||
PHOTOPRISM_DATABASE_PASSWORD: "{{ photos_db_pass }}"
|
|
||||||
PHOTOPRISM_SITE_CAPTION: "AI-Powered Photos App"
|
|
||||||
PHOTOPRISM_SITE_DESCRIPTION: ""
|
|
||||||
PHOTOPRISM_SITE_AUTHOR: "Bastian D."
|
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ photos_path }}/storage:/photoprism/"
|
- "{{ photos_path }}/storage:/mnt/media/originals"
|
||||||
|
- "{{ photos_path }}/immich:/usr/src/app/upload"
|
||||||
ports:
|
ports:
|
||||||
- "8088:2342"
|
- "8088:8088"
|
||||||
|
|
||||||
- name: create systemd startup job for photos
|
- name: create systemd startup job for immich_server
|
||||||
include_tasks: podman/systemd-generate.yml
|
include_tasks: podman/systemd-generate.yml
|
||||||
vars:
|
vars:
|
||||||
container_name: photos
|
container_name: immich_server
|
||||||
|
|||||||
@@ -46,8 +46,10 @@
|
|||||||
|
|
||||||
- import_tasks: containers/home/photos.yml
|
- import_tasks: containers/home/photos.yml
|
||||||
vars:
|
vars:
|
||||||
db_image: docker.io/library/mariadb:10.8
|
db_image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
|
||||||
image: docker.io/photoprism/photoprism:240915-ce
|
ml_image: ghcr.io/immich-app/immich-machine-learning:v1.123.0
|
||||||
|
redis_image: docker.io/redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8
|
||||||
|
image: ghcr.io/immich-app/immich-server:v1.123.0
|
||||||
tags: photos
|
tags: photos
|
||||||
|
|
||||||
- import_tasks: containers/home/cloud.yml
|
- import_tasks: containers/home/cloud.yml
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user