1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# OmniStream configuration template.
# Place at $XDG_CONFIG_HOME/omni-stream/config.toml, or set
# OMNI_CONFIG=/path/to/config.toml. Regenerate with `omni-stream config init`.
#
# Convention:
# key = val you must set this (deployment-specific, no default)
# # key = val # default code default shown — uncomment to override
# # key = val # optional no default; uncomment only if you need it
#
# Env overrides (prefix OMNI_, separator _):
# OMNI_SERVER_HOST, OMNI_SERVER_PORT, OMNI_AUTH_TOKEN
[]
# host = "127.0.0.1" # default; use "0.0.0.0" to allow external access
# port = 28080 # default
[]
# Optional bearer-token gate on /api/*. Disabled = API open to anyone who can
# reach the port. Enable for internal-tool deployments.
# enabled = false # default
# token = "replace-with-a-long-random-string" # required when enabled = true (or OMNI_AUTH_TOKEN)
# ---- Storage backends -----------------------------------------------------
# At least one [[storages]] entry is REQUIRED. active = true is served by
# default; if none is active, the first entry wins.
# S3-compatible (AWS S3 / MinIO / Ceph / AOSS / OSS / COS)
[[]]
= "production-s3" # required; shown in UI, used as ?storage=<name>
= "s3" # required
[]
= "minioadmin" # required for static creds (omit for IAM role / anonymous)
= "minioadmin" # required for static creds
# endpoint = "http://localhost:9000" # optional; omit for real AWS, set for self-hosted gateways
# bucket = "my-bucket" # optional; omit or "*" → multi-bucket (needs s3:ListAllMyBuckets)
# region = "us-east-1" # default; set to the bucket's real region for AWS outside us-east-1
# force_path_style = true # default; set false for virtual-host gateways (some AOSS/OSS)
# Local filesystem
[[]]
= "local-data" # required
= "local" # required
# active = false # default
[]
= "/var/lib/omni-stream" # required; absolute or ~-prefixed, no ".." traversal
# follow_symlinks = true # default; false → symlinks surfaced as entries, reads Forbidden
# ---- Thumbnails (on-demand WebP cache; disabled by default) ---------------
# When off, the grid falls back to /api/proxy originals and /api/thumb returns
# 404 "thumbnails disabled". Uncomment enabled = true below to opt in.
[]
# enabled = true # opt in (default: false)
# cache_path = "~/.cache/omni-stream/thumbs" # default; else XDG / ProjectDirs-derived
# quality = 70 # default; WebP quality 1-100
# max_source_bytes = 52428800 # default 50 MiB; larger sources are rejected
# sizes = [160, 320, 640] # default width ladder (px)
# default_size = 320 # default; snapped into `sizes` if not a member
# max_cache_bytes = 1073741824 # default 1 GiB; LRU sweep trims above this
# max_age_days = 90 # default; 0 disables the age cap
# sweep_interval_secs = 3600 # default; floored to 60s at runtime