2020-08-25 14:57:45 +02:00
|
|
|
version: '3.5'
|
2018-02-28 10:31:10 +01:00
|
|
|
|
|
|
|
services:
|
2022-04-06 17:46:41 +02:00
|
|
|
## Continuous Integration (CI) Environment
|
2021-12-12 20:14:07 +01:00
|
|
|
## Docs: https://docs.photoprism.app/developer-guide/
|
2018-02-28 10:31:10 +01:00
|
|
|
photoprism:
|
2018-09-17 12:11:19 +02:00
|
|
|
build: .
|
2018-11-08 10:56:11 +01:00
|
|
|
image: photoprism/photoprism:develop
|
2020-08-25 14:57:45 +02:00
|
|
|
security_opt:
|
|
|
|
- seccomp:unconfined
|
|
|
|
- apparmor:unconfined
|
2019-07-14 18:04:34 +02:00
|
|
|
depends_on:
|
2021-08-31 18:08:37 +02:00
|
|
|
- mariadb
|
2021-11-09 16:55:16 +01:00
|
|
|
- dummy-webdav
|
2018-11-09 10:56:52 +01:00
|
|
|
volumes:
|
2019-05-28 01:15:52 +02:00
|
|
|
- "~/.cache/npm:/root/.cache/npm"
|
2019-05-20 16:57:33 +02:00
|
|
|
- "~/.cache/go-mod:/go/pkg/mod"
|
2018-11-06 17:13:18 +01:00
|
|
|
environment:
|
2022-07-11 13:44:27 +02:00
|
|
|
PHOTOPRISM_ADMIN_PASSWORD: "photoprism" # initial "admin" password (minimum 8 characters)
|
|
|
|
PHOTOPRISM_AUTH_MODE: "public" # authentication mode (public, password)
|
2020-05-31 02:09:52 +02:00
|
|
|
PHOTOPRISM_SITE_URL: "http://localhost:2342/"
|
2022-02-23 14:24:50 +01:00
|
|
|
PHOTOPRISM_SITE_CAPTION: "AI-Powered Photos App"
|
2021-05-24 10:47:38 +02:00
|
|
|
PHOTOPRISM_SITE_DESCRIPTION: "Open-Source Photo Management"
|
2021-05-15 10:48:37 +02:00
|
|
|
PHOTOPRISM_SITE_AUTHOR: "@photoprism_app"
|
2020-05-19 12:09:48 +02:00
|
|
|
PHOTOPRISM_DEBUG: "false"
|
|
|
|
PHOTOPRISM_READONLY: "false"
|
2020-04-28 22:49:02 +02:00
|
|
|
PHOTOPRISM_PID_FILENAME: "photoprism.pid"
|
|
|
|
PHOTOPRISM_LOG_FILENAME: "photoprism.log"
|
|
|
|
PHOTOPRISM_DETACH_SERVER: "true"
|
|
|
|
PHOTOPRISM_HTTP_HOST: "0.0.0.0"
|
|
|
|
PHOTOPRISM_HTTP_PORT: 2342
|
2022-02-08 12:51:12 +01:00
|
|
|
PHOTOPRISM_HTTP_COMPRESSION: "gzip" # improves transfer speed and bandwidth utilization (none or gzip)
|
2020-05-30 14:52:47 +02:00
|
|
|
PHOTOPRISM_DATABASE_DRIVER: "mysql"
|
2021-08-31 18:08:37 +02:00
|
|
|
PHOTOPRISM_DATABASE_SERVER: "mariadb:4001"
|
2020-12-15 19:47:05 +01:00
|
|
|
PHOTOPRISM_DATABASE_NAME: "photoprism"
|
|
|
|
PHOTOPRISM_DATABASE_USER: "root"
|
|
|
|
PHOTOPRISM_DATABASE_PASSWORD: "photoprism"
|
2020-05-31 02:09:52 +02:00
|
|
|
PHOTOPRISM_TEST_DRIVER: "sqlite"
|
|
|
|
PHOTOPRISM_ASSETS_PATH: "/go/src/github.com/photoprism/photoprism/assets"
|
|
|
|
PHOTOPRISM_STORAGE_PATH: "/go/src/github.com/photoprism/photoprism/storage"
|
2020-06-02 15:51:14 +02:00
|
|
|
PHOTOPRISM_ORIGINALS_PATH: "/go/src/github.com/photoprism/photoprism/storage/originals"
|
|
|
|
PHOTOPRISM_IMPORT_PATH: "/go/src/github.com/photoprism/photoprism/storage/import"
|
2022-07-29 17:36:57 +02:00
|
|
|
PHOTOPRISM_DISABLE_CHOWN: "true" # disables updating storage permissions via chmod and chown on startup
|
2022-04-06 17:46:41 +02:00
|
|
|
PHOTOPRISM_DISABLE_BACKUPS: "false" # disables backing up albums and photo metadata to YAML files
|
2022-02-08 12:51:12 +01:00
|
|
|
PHOTOPRISM_DISABLE_WEBDAV: "false" # disables built-in WebDAV server
|
2022-03-30 14:27:44 +02:00
|
|
|
PHOTOPRISM_DISABLE_SETTINGS: "false" # disables settings UI and API
|
2022-02-08 12:51:12 +01:00
|
|
|
PHOTOPRISM_DISABLE_PLACES: "false" # disables reverse geocoding and maps
|
2022-03-30 14:27:44 +02:00
|
|
|
PHOTOPRISM_DISABLE_EXIFTOOL: "false" # disables creating JSON metadata sidecar files with ExifTool
|
|
|
|
PHOTOPRISM_DISABLE_TENSORFLOW: "false" # disables all features depending on TensorFlow
|
2022-07-22 09:59:08 +02:00
|
|
|
PHOTOPRISM_DETECT_NSFW: "false" # automatically flags photos as private that MAY be offensive (requires TensorFlow)
|
2022-02-08 12:51:12 +01:00
|
|
|
PHOTOPRISM_UPLOAD_NSFW: "false" # allow uploads that may be offensive
|
2022-04-06 17:46:41 +02:00
|
|
|
PHOTOPRISM_RAW_PRESETS: "false" # enables applying user presets when converting RAW files (reduces performance)
|
2022-02-08 12:51:12 +01:00
|
|
|
PHOTOPRISM_THUMB_FILTER: "lanczos" # resample filter, best to worst: blackman, lanczos, cubic, linear
|
|
|
|
PHOTOPRISM_THUMB_UNCACHED: "true" # enables 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)
|
2022-07-22 09:59:08 +02:00
|
|
|
PHOTOPRISM_JPEG_QUALITY: 85 # a higher value increases the quality and file size of JPEG images and thumbnails (25-100)
|
2019-05-20 16:57:33 +02:00
|
|
|
CODECOV_TOKEN:
|
|
|
|
CODECOV_ENV:
|
|
|
|
CODECOV_URL:
|
|
|
|
CODECOV_SLUG:
|
|
|
|
VCS_COMMIT_ID:
|
|
|
|
VCS_BRANCH_NAME:
|
|
|
|
VCS_PULL_REQUEST:
|
|
|
|
VCS_SLUG:
|
|
|
|
VCS_TAG:
|
|
|
|
CI_BUILD_URL:
|
|
|
|
CI_BUILD_ID:
|
|
|
|
CI_JOB_ID:
|
2020-08-13 17:32:28 +02:00
|
|
|
CI:
|
|
|
|
DRONE:
|
|
|
|
DRONE_BRANCH:
|
|
|
|
DRONE_BUILD_ACTION:
|
|
|
|
DRONE_BUILD_CREATED:
|
|
|
|
DRONE_BUILD_EVENT:
|
|
|
|
DRONE_BUILD_FINISHED:
|
|
|
|
DRONE_BUILD_NUMBER:
|
|
|
|
DRONE_BUILD_PARENT:
|
|
|
|
DRONE_BUILD_STARTED:
|
|
|
|
DRONE_BUILD_STATUS:
|
|
|
|
DRONE_CALVER:
|
|
|
|
DRONE_COMMIT:
|
|
|
|
DRONE_COMMIT_AFTER:
|
|
|
|
DRONE_COMMIT_AUTHOR:
|
|
|
|
DRONE_COMMIT_AUTHOR_AVATAR:
|
|
|
|
DRONE_COMMIT_AUTHOR_EMAIL:
|
|
|
|
DRONE_COMMIT_AUTHOR_NAME:
|
|
|
|
DRONE_COMMIT_BEFORE:
|
|
|
|
DRONE_COMMIT_BRANCH:
|
|
|
|
DRONE_COMMIT_LINK:
|
|
|
|
DRONE_COMMIT_MESSAGE:
|
|
|
|
DRONE_COMMIT_REF:
|
|
|
|
DRONE_COMMIT_SHA:
|
|
|
|
DRONE_DEPLOY_TO:
|
|
|
|
DRONE_FAILED_STAGES:
|
|
|
|
DRONE_FAILED_STEPS:
|
|
|
|
DRONE_GIT_HTTP_URL:
|
|
|
|
DRONE_GIT_SSH_URL:
|
|
|
|
DRONE_PULL_REQUEST:
|
|
|
|
DRONE_REMOTE_URL:
|
|
|
|
DRONE_REPO:
|
|
|
|
DRONE_REPO_BRANCH:
|
|
|
|
DRONE_REPO_LINK:
|
|
|
|
DRONE_REPO_NAME:
|
|
|
|
DRONE_REPO_NAMESPACE:
|
|
|
|
DRONE_REPO_OWNER:
|
|
|
|
DRONE_REPO_PRIVATE:
|
|
|
|
DRONE_REPO_SCM:
|
|
|
|
DRONE_REPO_VISIBILITY:
|
|
|
|
DRONE_SEMVER:
|
|
|
|
DRONE_SEMVER_BUILD:
|
|
|
|
DRONE_SEMVER_ERROR:
|
|
|
|
DRONE_SEMVER_MAJOR:
|
|
|
|
DRONE_SEMVER_MINOR:
|
|
|
|
DRONE_SEMVER_PATCH:
|
|
|
|
DRONE_SEMVER_PRERELEASE:
|
|
|
|
DRONE_SEMVER_SHORT:
|
|
|
|
DRONE_SOURCE_BRANCH:
|
|
|
|
DRONE_STAGE_ARCH:
|
|
|
|
DRONE_STAGE_DEPENDS_ON:
|
|
|
|
DRONE_STAGE_FINISHED:
|
|
|
|
DRONE_STAGE_KIND:
|
|
|
|
DRONE_STAGE_MACHINE:
|
|
|
|
DRONE_STAGE_NAME:
|
|
|
|
DRONE_STAGE_NUMBER:
|
|
|
|
DRONE_STAGE_OS:
|
|
|
|
DRONE_STAGE_STARTED:
|
|
|
|
DRONE_STAGE_STATUS:
|
|
|
|
DRONE_STAGE_TYPE:
|
|
|
|
DRONE_STAGE_VARIANT:
|
|
|
|
DRONE_STEP_NAME:
|
|
|
|
DRONE_STEP_NUMBER:
|
|
|
|
DRONE_SYSTEM_HOST:
|
|
|
|
DRONE_SYSTEM_HOSTNAME:
|
|
|
|
DRONE_SYSTEM_PROTO:
|
|
|
|
DRONE_SYSTEM_VERSION:
|
|
|
|
DRONE_TAG:
|
|
|
|
DRONE_TARGET_BRANCH:
|
2018-09-05 18:16:53 +02:00
|
|
|
|
2021-11-09 17:11:14 +01:00
|
|
|
## MariaDB Database Server
|
2022-06-01 21:44:58 +02:00
|
|
|
## Docs: https://mariadb.com/docs/reference/
|
2021-08-31 18:08:37 +02:00
|
|
|
mariadb:
|
2022-10-04 02:02:01 +02:00
|
|
|
image: mariadb:10.9
|
2022-07-23 21:43:08 +02:00
|
|
|
security_opt: # see https://github.com/MariaDB/mariadb-docker/issues/434#issuecomment-1136151239
|
|
|
|
- seccomp:unconfined
|
|
|
|
- apparmor:unconfined
|
2022-06-01 21:44:58 +02:00
|
|
|
command: mysqld --port=4001 --innodb-buffer-pool-size=256M --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120
|
2019-05-20 16:57:33 +02:00
|
|
|
expose:
|
2022-02-08 12:51:12 +01:00
|
|
|
- "4001" # database port (internal)
|
2020-05-08 19:34:29 +02:00
|
|
|
volumes:
|
2022-01-06 11:31:37 +01:00
|
|
|
- "./scripts/sql/mariadb-init.sql:/docker-entrypoint-initdb.d/init.sql"
|
2018-02-28 10:31:10 +01:00
|
|
|
environment:
|
2022-03-30 13:47:49 +02:00
|
|
|
MARIADB_AUTO_UPGRADE: "1"
|
|
|
|
MARIADB_INITDB_SKIP_TZINFO: "1"
|
|
|
|
MARIADB_DATABASE: "photoprism"
|
|
|
|
MARIADB_USER: "photoprism"
|
|
|
|
MARIADB_PASSWORD: "photoprism"
|
|
|
|
MARIADB_ROOT_PASSWORD: "photoprism"
|
2020-03-27 11:01:41 +01:00
|
|
|
|
2022-04-06 17:46:41 +02:00
|
|
|
## Dummy OpenID Connect Provider
|
|
|
|
dummy-oidc:
|
|
|
|
image: photoprism/dummy-oidc:220405
|
|
|
|
|
2021-11-09 17:11:14 +01:00
|
|
|
## Dummy WebDAV Server
|
2021-11-09 16:55:16 +01:00
|
|
|
dummy-webdav:
|
2021-11-09 17:11:14 +01:00
|
|
|
image: photoprism/dummy-webdav:20211109
|
|
|
|
environment:
|
|
|
|
WEBDAV_USERNAME: admin
|
|
|
|
WEBDAV_PASSWORD: photoprism
|