Skip to content
Snippets Groups Projects
Commit bd1fa58e authored by jurgenhaas's avatar jurgenhaas
Browse files

Initial commit

parents
Branches
No related tags found
No related merge requests found
---
# file: roles/photoprism/handlers/main.yml
- name: Re-create the photoprism containers
docker_compose:
project_src: '{{ photoprism_base_dir }}'
dependencies: no
restarted: yes
---
dependencies:
- role: docker
##
# Ansible file to install photoprism
#
---
# file: roles/photoprism/tasks/main.yml
- name: Photoprism Role
set_fact:
role_photoprism_started: yes
tags:
- always
- block:
- name: Import photoprism
import_tasks: photoprism.yml
- name: Remember that this role had been run
set_fact:
role_photoprism_completed: yes
tags:
- always
when: (not excluded_roles or "photoprism" not in excluded_roles) and role_photoprism_completed is not defined
---
# file: roles/photoprism/tasks/photoprism.yml
- name: Ensure directory
file:
path: '{{ photoprism_base_dir }}'
state: directory
- name: Copy Docker Compose File
template:
src: docker-compose.yml
dest: '{{ photoprism_base_dir }}/docker-compose.yml'
with_items:
- docker-compose.yml
notify:
- Re-create the photoprism containers
- name: Pull docker image
docker_image:
name: photoprism/photoprism
source: pull
force_source: yes
notify:
- Re-create the photoprism containers
version: '3.5'
# Example Docker Compose config file for PhotoPrism (Intel / AMD64)
#
# Documentation : https://docs.photoprism.org/getting-started/docker-compose/
# Docker Hub URL: https://hub.docker.com/r/photoprism/photoprism/
#
# Please run behind a reverse proxy like Caddy, Traefik or Nginx if you need HTTPS / SSL support
# e.g. when running PhotoPrism on a public server outside your home network.
#
# Usage: docker-compose up
services:
photoprism:
image: photoprism/photoprism:latest
restart: unless-stopped
# Uncomment and edit the following line to set a specific user / group id:
# user: "1000:1000"
security_opt:
- seccomp:unconfined
- apparmor:unconfined
ports:
- 2342:2342 # [local port]:[container port]
# Uncomment the following lines to enable regular health checks (causes automatic restarts):
# healthcheck:
# test: ["CMD", "photoprism", "status"]
# interval: 60s
# timeout: 15s
# retries: 5
#
# Run "photoprism help" and "photoprism config" too see all config options and current values:
environment: # Run "photoprism help" and "photoprism config" too see all config options and current values
PHOTOPRISM_ADMIN_PASSWORD: "{{ photoprism_admin_password }}" # Initial admin password: PLEASE CHANGE!
PHOTOPRISM_DEBUG: "false" # Run in debug mode (shows additional log messages)
PHOTOPRISM_PUBLIC: "false" # No authentication required (disables password protection)
PHOTOPRISM_READONLY: "true" # Don't modify originals directory (reduced functionality)
PHOTOPRISM_UPLOAD_NSFW: "true" # Allow uploads that MAY be offensive
PHOTOPRISM_DETECT_NSFW: "false" # Flag photos as private that MAY be offensive
PHOTOPRISM_EXPERIMENTAL: "false" # Enable experimental features
PHOTOPRISM_SITE_URL: "{{ photoprism_site_url }}" # Canonical / public site URL
PHOTOPRISM_SITE_TITLE: "{{ photoprism_site_title }}"
PHOTOPRISM_SITE_CAPTION: "Browse Your Life"
PHOTOPRISM_SITE_DESCRIPTION: ""
PHOTOPRISM_SITE_AUTHOR: ""
PHOTOPRISM_HTTP_HOST: "0.0.0.0"
PHOTOPRISM_HTTP_PORT: 2342
PHOTOPRISM_SETTINGS_HIDDEN: "false" # Users can not view or change settings
# PHOTOPRISM_DATABASE_DRIVER: "sqlite" # SQLite is an embedded database that doesn't require a server
PHOTOPRISM_DATABASE_DRIVER: "mysql" # Use MariaDB (or MySQL) instead of SQLite for improved performance
PHOTOPRISM_DATABASE_DSN: "photoprism:insecure@tcp(mariadb:3306)/photoprism?charset=utf8mb4,utf8&parseTime=true"
PHOTOPRISM_SIDECAR_JSON: "true" # Automatically create JSON sidecar files using Exiftool
PHOTOPRISM_SIDECAR_YAML: "true" # Automatically backup metadata to YAML sidecar files
PHOTOPRISM_THUMB_FILTER: "lanczos" # Resample filter, best to worst: blackman, lanczos, cubic, linear
PHOTOPRISM_THUMB_UNCACHED: "false" # Enable on-demand thumbnail rendering (high memory and cpu usage)
PHOTOPRISM_THUMB_SIZE: 2048 # Pre-rendered thumbnail size limit (default 2048, min 720, max 7680)
# PHOTOPRISM_THUMB_SIZE: 4096 # Retina 4K, DCI 4K (requires more storage); 7680 for 8K Ultra HD
PHOTOPRISM_THUMB_SIZE_UNCACHED: 7680 # On-demand rendering size limit (default 7680, min 720, max 7680)
PHOTOPRISM_JPEG_SIZE: 7680 # Size limit for converted image files in pixels (720-30000)
PHOTOPRISM_JPEG_QUALITY: 92 # Set to 95 for high-quality thumbnails (25-100)
PHOTOPRISM_DARKTABLE_PRESETS: "false" # Use darktable presets (disables concurrent raw to jpeg conversion)
# You may optionally set user, group and/or file permissions using environment variables:
# UID: 1000
# GID: 1000
# UMASK: 0000
volumes:
- "{{ photoprism_base_dir }}/storage:/photoprism/storage"
{% for volume in photoprism_volumes %}
- "{{ volume }}"
{% endfor %}
# Uncomment the following lines to use MariaDB instead of SQLite for improved performance & scalability:
#
mariadb:
image: mariadb:10.5
restart: unless-stopped
command: mysqld --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --i
nnodb-lock-wait-timeout=50
volumes:
- "/var/lib/mysql"
environment:
MYSQL_ROOT_PASSWORD: please-change
MYSQL_USER: photoprism
MYSQL_PASSWORD: insecure
MYSQL_DATABASE: photoprism
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment