mirror of
https://git.asonix.dog/asonix/pict-rs.git
synced 2024-12-01 05:51:07 +00:00
235 lines
6.5 KiB
TOML
235 lines
6.5 KiB
TOML
## Server configuration
|
|
[server]
|
|
## Optional: pict-rs binding address
|
|
# environment variable: PICTRS__SERVER__ADDRESS
|
|
# default: 0.0.0.0:8080
|
|
address = '0.0.0.0:8080'
|
|
|
|
## Optional: pict-rs worker id
|
|
# environment variable PICTRS__SERVER__WORKER_ID
|
|
# default: pict-rs-1
|
|
#
|
|
# This is used for the internal job queue. It will have more meaning once a shared metadata
|
|
# repository (like postgres) can be defined.
|
|
worker_id = 'pict-rs-1'
|
|
|
|
## Optional: shared secret for internal endpoints
|
|
# environment variable: PICTRS__SERVER__API_KEY
|
|
# default: empty
|
|
#
|
|
# Not specifying api_key disables internal endpoints
|
|
api_key = 'API_KEY'
|
|
|
|
|
|
## Logging configuration
|
|
[tracing.logging]
|
|
## Optional: log format
|
|
# environment variable: PICTRS__TRACING__LOGGING__FORMAT
|
|
# default: normal
|
|
#
|
|
# available options: compact, json, normal, pretty
|
|
format = 'normal'
|
|
|
|
## Optional: log targets
|
|
# environment variable: PICTRS__TRACING__LOGGING__TARGETS
|
|
# default: warn,tracing_actix_web=info,actix_server=info,actix_web=info
|
|
#
|
|
# Dictates which traces should print to stdout
|
|
# Follows the same format as RUST_LOG
|
|
targets = 'warn,tracing_actix_web=info,actix_server=info,actix_web=info'
|
|
|
|
|
|
## Console configuration
|
|
[tracing.console]
|
|
## Optional: console address
|
|
# environment variable: PICTRS__TRACING__CONSOLE__ADDRESS
|
|
# default: empty
|
|
#
|
|
# Dictates whether console should be enabled, and what address it should be exposed on.
|
|
#
|
|
# When set, tokio-console can connect to the pict-rs service
|
|
#
|
|
# Configure your container to expose the console port
|
|
# ```
|
|
# # docker-compose.yml
|
|
# version: '3.3'
|
|
#
|
|
# services:
|
|
# pictrs:
|
|
# image: asonix/pictrs:v0.4.0-alpha.1
|
|
# ports:
|
|
# - "127.0.0.1:8080:8080"
|
|
# - "127.0.0.1:6669:6669" # this is the line that exposes console
|
|
# restart: always
|
|
# volumes:
|
|
# - ./volumes/pictrs:/mnt
|
|
# ```
|
|
#
|
|
# Connect from console
|
|
# ```
|
|
# $ tokio-console http://localhost:6669
|
|
# ```
|
|
address = '0.0.0.0:6669'
|
|
|
|
## Optional: console buffer capacity
|
|
# environment variable: PICTRS__TRACING__CONSOLE__BUFFER_CAPACITY
|
|
# default: 102400
|
|
#
|
|
# This is the number of _events_ to buffer, not the number of bytes. In reality, the amount of
|
|
# RAM used will be significatnly larger (in bytes) than the buffer capacity (in events)
|
|
buffer_capacity = 102400
|
|
|
|
|
|
## OpenTelemetry configuration
|
|
[tracing.opentelemetry]
|
|
## Optional: url for exporting otlp traces
|
|
# environment variable: PICTRS__TRACING__OPENTELEMETRY__URL
|
|
# default: empty
|
|
#
|
|
# Not specifying opentelemetry_url means no traces will be exported
|
|
# When set, pict-rs will export OpenTelemetry traces to the provided URL. If the URL is
|
|
# inaccessible, this can cause performance degredation in pict-rs, so it is best left unset unless
|
|
# you have an OpenTelemetry collector
|
|
url = 'http://localhost:4317/'
|
|
|
|
## Optional: name to relate OpenTelemetry traces
|
|
# environment variable: PICTRS__TRACING__OPENTELEMETRY__SERVICE_NAME
|
|
# default: pict-rs
|
|
service_name = 'pict-rs'
|
|
|
|
## Optional: trace level to export
|
|
# environment variable: PICTRS__TRACING__OPENTELEMETRY__TARGETS
|
|
# default: info
|
|
#
|
|
# Follows the same format as RUST_LOG
|
|
targets = 'info'
|
|
|
|
|
|
## Configuration for migrating from pict-rs 0.2
|
|
[old_db]
|
|
## Optional: path to old pict-rs directory
|
|
# environment variable: PICTRS__OLD_DB__PATH
|
|
# default: /mnt
|
|
path = '/mnt'
|
|
|
|
|
|
## Media Processing Configuration
|
|
[media]
|
|
## Optional: max media width (in pixels)
|
|
# environment variable: PICTRS__MEDIA__MAX_WIDTH
|
|
# default: 10,000
|
|
max_width = 10000
|
|
|
|
## Optional: max media height (in pixels)
|
|
# environment variable: PICTRS__MEDIA__MAX_HEIGHT
|
|
# default: 10,000
|
|
max_height = 10000
|
|
|
|
## Optional: max media area (in pixels)
|
|
# environment variable: PICTRS__MEDIA__MAX_AREA
|
|
# default: 40,000,000
|
|
max_area = 40000000
|
|
|
|
## Optional: max file size (in Megabytes)
|
|
# environment variable: PICTRS__MEDIA__MAX_FILE_SIZE
|
|
# default: 40
|
|
max_file_size = 40
|
|
|
|
## Optional: enable GIF and MP4 uploads (without sound)
|
|
# environment variable: PICTRS__MEDIA__ENABLE_SILENT_VIDEO
|
|
# default: true
|
|
#
|
|
# Set this to false to serve static images only
|
|
enable_silent_video = true
|
|
|
|
## Optional: set allowed filters for image processing
|
|
# environment variable: PICTRS__MEDIA__FILTERS
|
|
# default: ['blur', 'crop', 'identity', 'resize', 'thumbnail']
|
|
filters = ['blur', 'crop', 'identity', 'resize', 'thumbnail']
|
|
|
|
## Optional: whether to validate images uploaded through the `import` endpoint
|
|
# environment variable: PICTRS__MEDIA__SKIP_VALIDATE_IMPORTS
|
|
# default: false
|
|
#
|
|
# Set this to true if you want to avoid processing imported media
|
|
skip_validate_imports = false
|
|
|
|
## Optional: The duration, in hours, to keep media ingested through the "cache" endpoint
|
|
# environment variable: PICTRS__MEDIA__CACHE_DURATION
|
|
# default: 168 (1 week)
|
|
cache_duration = 168
|
|
|
|
|
|
## Database configuration
|
|
[repo]
|
|
## Optional: database backend to use
|
|
# environment variable: PICTRS__REPO__TYPE
|
|
# default: sled
|
|
#
|
|
# available options: sled
|
|
type = 'sled'
|
|
|
|
## Optional: path to sled repository
|
|
# environment variable: PICTRS__REPO__PATH
|
|
# default: /mnt/sled-repo
|
|
path = '/mnt/sled-repo'
|
|
|
|
## Optional: in-memory cache capacity for sled data (in bytes)
|
|
# environment variable: PICTRS__REPO__CACHE_CAPACITY
|
|
# default: 67,108,864 (1024 * 1024 * 64, or 64MB)
|
|
cache_capacity = 67108864
|
|
|
|
|
|
## Media storage configuration
|
|
[store]
|
|
## Optional: type of media storage to use
|
|
# environment variable: PICTRS__STORE__TYPE
|
|
# default: filesystem
|
|
#
|
|
# available options: filesystem, object_storage
|
|
type = 'object_storage'
|
|
|
|
## Required: object storage bucket name
|
|
# environment variable: PICTRS__STORE__BUCKET_NAME
|
|
# default: empty
|
|
bucket_name = 'BUCKET_NAME'
|
|
|
|
## Required: object storage region
|
|
# environment variable: PICTRS__STORE__REGION
|
|
# default: empty
|
|
region = 'REGION'
|
|
|
|
## Required: object storage access key
|
|
# environment variable: PICTRS__STORE__ACCESS_KEY
|
|
# default: empty
|
|
access_key = 'ACCESS_KEY'
|
|
|
|
## Required: object storage secret key
|
|
# environment variable: PICTRS__STORE__SECRET_KEY
|
|
# default: empty
|
|
secret_key = 'SECRET_KEY'
|
|
|
|
## Optional: object storage security token
|
|
# environment variable: PICTRS__STORE__SECURITY_TOKEN
|
|
# default: empty
|
|
security_token = 'SECURITY_TOKEN'
|
|
|
|
## Optional: object storage session token
|
|
# environment variable: PICTRS__STORE__SESSION_TOKEN
|
|
# default: empty
|
|
session_token = 'SESSION_TOKEN'
|
|
|
|
## Filesystem media storage example
|
|
# ## Media storage configuration
|
|
# [store]
|
|
# ## Optional: type of media storage to use
|
|
# # environment variable: PICTRS__STORE__TYPE
|
|
# # default: filesystem
|
|
# #
|
|
# # available options: filesystem, object_storage
|
|
# type = 'filesystem'
|
|
#
|
|
# ## Optional: path to uploaded media
|
|
# # environment variable: PICTRS__STORE__PATH
|
|
# # default: /mnt/files
|
|
# path = '/mnt/files'
|