Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
photoprism
command
|
|
|
internal
|
|
|
ai/classify
Package classify encapsulates image classification using TensorFlow.
|
Package classify encapsulates image classification using TensorFlow. |
|
ai/face
Package face provides face recognition.
|
Package face provides face recognition. |
|
ai/nsfw
Package nsfw provides detection of images that are "not safe for work" based on various categories.
|
Package nsfw provides detection of images that are "not safe for work" based on various categories. |
|
ai/tensorflow
Package tensorflow provides TensorFlow utility functions.
|
Package tensorflow provides TensorFlow utility functions. |
|
ai/vision
Package vision provides a computer vision request handler and a client for using external APIs.
|
Package vision provides a computer vision request handler and a client for using external APIs. |
|
ai/vision/ollama
Package ollama integrates PhotoPrism's vision pipeline with Ollama-compatible multi-modal models so adapters can share logging and engine helpers.
|
Package ollama integrates PhotoPrism's vision pipeline with Ollama-compatible multi-modal models so adapters can share logging and engine helpers. |
|
ai/vision/openai
Package openai implements the PhotoPrism vision adapter that calls the OpenAI Responses API for captions, labels, and optional markers.
|
Package openai implements the PhotoPrism vision adapter that calls the OpenAI Responses API for captions, labels, and optional markers. |
|
ai/vision/schema
Package schema defines canonical JSON and JSON Schema templates shared by PhotoPrism's AI vision engines.
|
Package schema defines canonical JSON and JSON Schema templates shared by PhotoPrism's AI vision engines. |
|
api
Package api provides REST-API authentication and request handlers.
|
Package api provides REST-API authentication and request handlers. |
|
api/download
Package download allows to register files so that they can be temporarily made available for download.
|
Package download allows to register files so that they can be temporarily made available for download. |
|
auth/acl
Package acl provides access control lists for authorization checks.
|
Package acl provides access control lists for authorization checks. |
|
auth/jwt
Package jwt provides helpers for managing Ed25519 signing keys and issuing or verifying short-lived JWTs used for secure communication between the Portal and cluster instances and services.
|
Package jwt provides helpers for managing Ed25519 signing keys and issuing or verifying short-lived JWTs used for secure communication between the Portal and cluster instances and services. |
|
auth/oidc
Package oidc provides OpenID Connect (OIDC) single sign-on functionality.
|
Package oidc provides OpenID Connect (OIDC) single sign-on functionality. |
|
auth/session
Package session provides session storage and management.
|
Package session provides session storage and management. |
|
commands
Package commands provides the CLI commands of PhotoPrism.
|
Package commands provides the CLI commands of PhotoPrism. |
|
commands/catalog
Package catalog provides DTOs, builders, and a templated renderer to export the PhotoPrism CLI command tree (and flags) as Markdown or JSON for documentation purposes.
|
Package catalog provides DTOs, builders, and a templated renderer to export the PhotoPrism CLI command tree (and flags) as Markdown or JSON for documentation purposes. |
|
config
Package config provides global options, command-line flags, and user settings.
|
Package config provides global options, command-line flags, and user settings. |
|
config/customize
Package customize provides user settings to customize the app.
|
Package customize provides user settings to customize the app. |
|
config/feat
Package feat centralizes feature flag definitions that gate PhotoPrism configuration experiments and in-progress integrations.
|
Package feat centralizes feature flag definitions that gate PhotoPrism configuration experiments and in-progress integrations. |
|
config/pwa
Package pwa provides data structures and tools for working with progressive web applications.
|
Package pwa provides data structures and tools for working with progressive web applications. |
|
config/ttl
Package ttl provides cache expiration defaults and helper functions.
|
Package ttl provides cache expiration defaults and helper functions. |
|
entity
Package entity provides entity models based on the GORM library.
|
Package entity provides entity models based on the GORM library. |
|
entity/legacy
Package legacy provides legacy entity models to be used in migrations.
|
Package legacy provides legacy entity models to be used in migrations. |
|
entity/migrate
Package migrate provides database schema migrations.
|
Package migrate provides database schema migrations. |
|
entity/query
Package query provides frequently used database queries for use in commands and API.
|
Package query provides frequently used database queries for use in commands and API. |
|
entity/search
Package search provides search queries to find photos, albums, labels, and subjects.
|
Package search provides search queries to find photos, albums, labels, and subjects. |
|
entity/search/viewer
Package viewer provides photo viewer data structures and utility functions.
|
Package viewer provides photo viewer data structures and utility functions. |
|
entity/sortby
Package sortby provides sort order constants and helper functions.
|
Package sortby provides sort order constants and helper functions. |
|
event
Package event provides a publish-subscribe event hub and a global logger.
|
Package event provides a publish-subscribe event hub and a global logger. |
|
ffmpeg
Package ffmpeg provides FFmpeg video transcoding related types and functions.
|
Package ffmpeg provides FFmpeg video transcoding related types and functions. |
|
ffmpeg/apple
Package apple contains helper routines and constants for wiring up Apple VideoToolbox (VT) encoder support in ffmpeg command generation.
|
Package apple contains helper routines and constants for wiring up Apple VideoToolbox (VT) encoder support in ffmpeg command generation. |
|
ffmpeg/encode
Package encode provides FFmpeg video encoder related types and functions.
|
Package encode provides FFmpeg video encoder related types and functions. |
|
ffmpeg/intel
Package intel collects ffmpeg helpers for configuring Intel Quick Sync Video (QSV) encoders when building PhotoPrism transcoding pipelines.
|
Package intel collects ffmpeg helpers for configuring Intel Quick Sync Video (QSV) encoders when building PhotoPrism transcoding pipelines. |
|
ffmpeg/nvidia
Package nvidia provides ffmpeg helpers for NVENC/NVDEC integration so PhotoPrism can leverage NVIDIA GPUs for hardware-accelerated workflows.
|
Package nvidia provides ffmpeg helpers for NVENC/NVDEC integration so PhotoPrism can leverage NVIDIA GPUs for hardware-accelerated workflows. |
|
ffmpeg/v4l
Package v4l wraps ffmpeg command helpers for Video4Linux (V4L2) devices used on Linux systems when capturing or transcoding with hardware-backed codecs.
|
Package v4l wraps ffmpeg command helpers for Video4Linux (V4L2) devices used on Linux systems when capturing or transcoding with hardware-backed codecs. |
|
ffmpeg/vaapi
Package vaapi contains ffmpeg helpers for configuring VA-API hardware acceleration on compatible GPUs when building PhotoPrism encode pipelines.
|
Package vaapi contains ffmpeg helpers for configuring VA-API hardware acceleration on compatible GPUs when building PhotoPrism encode pipelines. |
|
form
Package form contains tagged structs for input value validation.
|
Package form contains tagged structs for input value validation. |
|
mcp
Package mcp implements the PhotoPrism Model Context Protocol (MCP) server, which exposes read-only reference data (config options and search filters) to MCP-aware clients over both stdio and authenticated Streamable HTTP.
|
Package mcp implements the PhotoPrism Model Context Protocol (MCP) server, which exposes read-only reference data (config options and search filters) to MCP-aware clients over both stdio and authenticated Streamable HTTP. |
|
meta
Package meta provides XMP and Exif metadata parsing and normalization.
|
Package meta provides XMP and Exif metadata parsing and normalization. |
|
mutex
Package mutex provides concurrency control for index workers and database operations.
|
Package mutex provides concurrency control for index workers and database operations. |
|
photoprism
Package photoprism provides the core functionality of PhotoPrism®.
|
Package photoprism provides the core functionality of PhotoPrism®. |
|
photoprism/backup
Package backup provides backup and restore functions for databases and albums.
|
Package backup provides backup and restore functions for databases and albums. |
|
photoprism/batch
Package batch coordinates PhotoPrism’s multi-photo edit workflow by defining the PhotosForm schema, helper types for expressing add/remove actions, and the validation / persistence helpers (ApplyAlbums, ApplyLabels, SavePhotos, etc.) that the API layer uses to safely mutate selections of photos at once.
|
Package batch coordinates PhotoPrism’s multi-photo edit workflow by defining the PhotosForm schema, helper types for expressing add/remove actions, and the validation / persistence helpers (ApplyAlbums, ApplyLabels, SavePhotos, etc.) that the API layer uses to safely mutate selections of photos at once. |
|
photoprism/dl
Package dl provides helpers to discover media metadata and download content from remote sources via yt-dlp.
|
Package dl provides helpers to discover media metadata and download content from remote sources via yt-dlp. |
|
photoprism/get
Package get provides a registry for common services.
|
Package get provides a registry for common services. |
|
server
Package server provides REST and Web server routing, request handling and logging.
|
Package server provides REST and Web server routing, request handling and logging. |
|
server/limiter
Package limiter provides an IP request rate limiter with Gin middleware.
|
Package limiter provides an IP request rate limiter with Gin middleware. |
|
server/process
Package process provides server process information and handling.
|
Package process provides server process information and handling. |
|
server/wellknown
Package wellknown provides data types and abstractions for service discovery endpoints.
|
Package wellknown provides data types and abstractions for service discovery endpoints. |
|
service
Package service provides detection of remote services for file sharing and synchronization.
|
Package service provides detection of remote services for file sharing and synchronization. |
|
service/cluster
Package cluster provides multi-instance deployment and orchestration functionality.
|
Package cluster provides multi-instance deployment and orchestration functionality. |
|
service/cluster/node
Package node bootstraps a PhotoPrism node (instance or service) that joins a cluster Portal.
|
Package node bootstraps a PhotoPrism node (instance or service) that joins a cluster Portal. |
|
service/cluster/provisioner
Package provisioner manages per-instance database provisioning for cluster setups.
|
Package provisioner manages per-instance database provisioning for cluster setups. |
|
service/cluster/registry
Package registry defines and implements the cluster node registry abstraction.
|
Package registry defines and implements the cluster node registry abstraction. |
|
service/cluster/theme
Package theme contains helpers shared by cluster services to inspect bundled portal themes, for example detecting their version or validating required assets.
|
Package theme contains helpers shared by cluster services to inspect bundled portal themes, for example detecting their version or validating required assets. |
|
service/hub
Package hub provides privacy-preserving reverse geocoding and other backend services.
|
Package hub provides privacy-preserving reverse geocoding and other backend services. |
|
service/hub/places
Package places provides global location information to enrich metadata with location details.
|
Package places provides global location information to enrich metadata with location details. |
|
service/maps
Package maps provides a location lookup abstraction including a normalized list of countries.
|
Package maps provides a location lookup abstraction including a normalized list of countries. |
|
service/webdav
Package webdav provides WebDAV file sharing and synchronization.
|
Package webdav provides WebDAV file sharing and synchronization. |
|
thumb
Package thumb provides JPEG resampling and thumbnail generation.
|
Package thumb provides JPEG resampling and thumbnail generation. |
|
thumb/avatar
Package avatar provides helper functions to download and update avatar images.
|
Package avatar provides helper functions to download and update avatar images. |
|
thumb/crop
Package crop provides image crop data structures and helpers.
|
Package crop provides image crop data structures and helpers. |
|
thumb/frame
Package frame provides helper functions to embed images into frames.
|
Package frame provides helper functions to embed images into frames. |
|
workers
Package workers provides index, sync, and metadata optimization background workers.
|
Package workers provides index, sync, and metadata optimization background workers. |
|
workers/auto
Package auto provides workers for background indexing and import operations.
|
Package auto provides workers for background indexing and import operations. |
|
pkg
|
|
|
authn
Package authn helps integrate and abstract authentication providers.
|
Package authn helps integrate and abstract authentication providers. |
|
capture
Package capture provides profiling functions for testing and debugging.
|
Package capture provides profiling functions for testing and debugging. |
|
checksum
Package checksum provides functions and abstractions to generate data checksums.
|
Package checksum provides functions and abstractions to generate data checksums. |
|
clean
Package clean provides validation, sanitation, and normalization of input values.
|
Package clean provides validation, sanitation, and normalization of input values. |
|
dsn
Package dsn provides helpers for parsing database data source names, masking credentials, and sharing driver-specific defaults used throughout PhotoPrism.
|
Package dsn provides helpers for parsing database data source names, masking credentials, and sharing driver-specific defaults used throughout PhotoPrism. |
|
enum
Package enum centralizes canonical string constants and lookup tables that we use when interpreting enumerations throughout PhotoPrism.
|
Package enum centralizes canonical string constants and lookup tables that we use when interpreting enumerations throughout PhotoPrism. |
|
env
Package env provides runtime environment information.
|
Package env provides runtime environment information. |
|
fs
Package fs provides filesystem related constants and functions.
|
Package fs provides filesystem related constants and functions. |
|
fs/duf
Package duf provides file system usage information.
|
Package duf provides file system usage information. |
|
fs/fastwalk
Package fastwalk provides a faster version of filepath.Walk for file system scanning tools.
|
Package fastwalk provides a faster version of filepath.Walk for file system scanning tools. |
|
geo
Package geo provides earth geometry functions and constants.
|
Package geo provides earth geometry functions and constants. |
|
geo/latlng
Package latlng provides latitude and longitude functions and constants.
|
Package latlng provides latitude and longitude functions and constants. |
|
geo/pluscode
Package pluscode provides an abstraction for Google's Open Location Code package.
|
Package pluscode provides an abstraction for Google's Open Location Code package. |
|
geo/s2
Package s2 provides a geolocation abstraction based on Google's S2 library.
|
Package s2 provides a geolocation abstraction based on Google's S2 library. |
|
http/dns
Package dns provides helpers for validating and classifying hostnames that are safe to use in cluster URLs, node identifiers, and other HTTP-facing settings.
|
Package dns provides helpers for validating and classifying hostnames that are safe to use in cluster URLs, node identifiers, and other HTTP-facing settings. |
|
http/header
Package header provides abstractions and naming constants for HTTP request and response headers.
|
Package header provides abstractions and naming constants for HTTP request and response headers. |
|
http/proxy
Package proxy provides shared defaults and helpers for path-based HTTP proxy routing.
|
Package proxy provides shared defaults and helpers for path-based HTTP proxy routing. |
|
http/safe
Package safe provides a secure HTTP downloader with customizable settings.
|
Package safe provides a secure HTTP downloader with customizable settings. |
|
http/scheme
Package scheme provides abstractions and naming constants for URI/URL resource strings.
|
Package scheme provides abstractions and naming constants for URI/URL resource strings. |
|
http/security
Package security provides shared HTTP security utilities.
|
Package security provides shared HTTP security utilities. |
|
http/security/cmd/scanpathsgen
command
|
|
|
i18n
Package i18n provides translatable notification and error messages.
|
Package i18n provides translatable notification and error messages. |
|
list
Package list provides a string slice abstraction.
|
Package list provides a string slice abstraction. |
|
list/ordered
Package ordered implements ordered associative containers that combine constant time key lookups with predictable iteration by pairing a Go map with an intrusive doubly linked list.
|
Package ordered implements ordered associative containers that combine constant time key lookups with predictable iteration by pairing a Go map with an intrusive doubly linked list. |
|
log/dummy
Package dummy provides dummy implementations for logger interfaces.
|
Package dummy provides dummy implementations for logger interfaces. |
|
log/level
Package level provides constants and abstractions for log levels and severities.
|
Package level provides constants and abstractions for log levels and severities. |
|
log/status
Package status defines canonical outcome tokens shared by audit and system logging helpers so events stay consistent across packages.
|
Package status defines canonical outcome tokens shared by audit and system logging helpers so events stay consistent across packages. |
|
media
Package media provides general content types and maps them to file formats.
|
Package media provides general content types and maps them to file formats. |
|
media/colors
Package colors provides types and functions for color classification.
|
Package colors provides types and functions for color classification. |
|
media/projection
Package projection provides visual projection types and methods.
|
Package projection provides visual projection types and methods. |
|
media/video
Package video provides video file related types and abstractions.
|
Package video provides video file related types and abstractions. |
|
react
Package react facilitates the processing of user feedback expressed by an emoji.
|
Package react facilitates the processing of user feedback expressed by an emoji. |
|
rnd
Package rnd provides random token generation and validation.
|
Package rnd provides random token generation and validation. |
|
time/tz
Package tz provides time zone constants and functions.
|
Package tz provides time zone constants and functions. |
|
time/unix
Package unix provides constants and functions for Unix timestamps.
|
Package unix provides constants and functions for Unix timestamps. |
|
txt
Package txt provides text and linguistics related functionality.
|
Package txt provides text and linguistics related functionality. |
|
txt/clip
Package clip provides functions for limiting the length of character strings.
|
Package clip provides functions for limiting the length of character strings. |
|
txt/report
Package report provides rendering of report results, for example as Markdown.
|
Package report provides rendering of report results, for example as Markdown. |
|
vector/alg
Package clusters provides abstract definitions of clusterers as well as their implementations.
|
Package clusters provides abstract definitions of clusterers as well as their implementations. |
|
scripts
|
|
|
tools/swaggerfix
command
|
Click to show internal directories.
Click to hide internal directories.

