You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible-homelab/roles/portainer_photoprism/tasks/main.yml

71 lines
3.3 KiB
YAML

---
- name: "PhotoPrism | Restore any missing volumes from S3"
ansible.builtin.include_role:
name: chatton.docker_backup.docker_s3_volume_restore
vars:
docker_backup_s3_volume: "{{ item }}"
with_items:
- name: "{{ photoprism_stack_name }}_photoprism_storage"
- name: "PhotoPrism | Update Portainer."
chatton.portainer.portainer_stack:
username: '{{ portainer_user }}'
password: '{{ portainer.password }}'
base_url: '{{ portainer_base_url }}'
stack_name: '{{ photoprism_stack_name }}'
endpoint_id: '{{ portainer_endpoint }}'
state: present
definition:
version: '3.5'
services:
photoprism:
labels: "{{ backup_labels }}"
image: "{{ photoprism_image }}:{{ photoprism_tag }}"
container_name: "{{ photoprism_container_name }}"
restart: "{{ photoprism_restart_policy }}"
security_opt:
- seccomp:unconfined
- apparmor:unconfined
ports:
- "{{ photoprism_http_port }}:2342"
environment:
PHOTOPRISM_ADMIN_PASSWORD: "{{ photoprism_admin_password }}"
PHOTOPRISM_AUTH_MODE: "{{ photoprism_auth_mode }}"
PHOTOPRISM_SITE_URL: "{{ photoprism_site_url }}"
PHOTOPRISM_ORIGINALS_LIMIT: "{{ photoprism_originals_limit }}"
PHOTOPRISM_HTTP_COMPRESSION: "{{ photoprism_http_compression }}"
PHOTOPRISM_LOG_LEVEL: "{{ photoprism_log_level }}"
PHOTOPRISM_READONLY: "{{ photoprism_readonly }}"
PHOTOPRISM_EXPERIMENTAL: "{{ photoprism_experimental }}"
PHOTOPRISM_DISABLE_CHOWN: "{{ photoprism_disable_chown }}"
PHOTOPRISM_DISABLE_WEBDAV: "{{ photoprism_disable_webdav }}"
PHOTOPRISM_DISABLE_SETTINGS: "{{ photoprism_disable_settings }}"
PHOTOPRISM_DISABLE_TENSORFLOW: "{{ photoprism_disable_tensorflow }}"
PHOTOPRISM_DISABLE_FACES: "{{ photoprism_disable_faces }}"
PHOTOPRISM_DISABLE_CLASSIFICATION: "{{ photoprism_disable_classification }}"
PHOTOPRISM_DISABLE_RAW: "{{ photoprism_disable_raw }}"
PHOTOPRISM_RAW_PRESETS: "{{ photoprism_raw_presets }}"
PHOTOPRISM_JPEG_QUALITY: "{{ photoprism_jpeg_quality }}"
PHOTOPRISM_DETECT_NSFW: "{{ photoprism_detect_nsfw }}"
PHOTOPRISM_UPLOAD_NSFW: "{{ photoprism_upload_nsfw }}"
PHOTOPRISM_DATABASE_DRIVER: "{{ photoprism_database_driver }}"
PHOTOPRISM_DATABASE_SERVER: "{{ photoprism_database_server }}"
PHOTOPRISM_DATABASE_NAME: "{{ photoprism_database_name }}"
PHOTOPRISM_DATABASE_USER: "{{ photoprism_database_user }}"
PHOTOPRISM_DATABASE_PASSWORD: "{{ photoprism_database_password }}"
PHOTOPRISM_SITE_CAPTION: "{{ photoprism_site_caption }}"
PHOTOPRISM_SITE_DESCRIPTION: "{{ photoprism_site_description }}"
PHOTOPRISM_SITE_AUTHOR: "{{ photoprism_site_author }}"
devices:
- "/dev/dri:/dev/dri"
working_dir: "/photoprism"
volumes:
- "{{ photoprism_originals_dir }}:/photoprism/originals"
- "{{ photoprism_import_dir }}:/photoprism/import"
- photoprism_storage:/photoprism/storage
volumes:
photoprism_storage: {}
networks:
default:
name: "{{ photoprism_network }}"
external: true