prsnl-dockerswarm/ComposeFiles/home.yml
2023-08-10 01:37:00 -04:00

220 lines
8.9 KiB
YAML

version: '3.8'
services:
# NOTE:used as utilities
whoami: # Who Am I #Who?
image: traefik/whoami
networks:
- net
ports:
- "30050:80"
deploy:
replicas: 1
placement:
constraints: [ node.role == worker ]
homepage: # Homepage for intranet #Homepage
image: ghcr.io/benphelps/homepage:latest
ports:
- 30101:3000
volumes:
# - /home/user/docker-main/test_homepage/Data:/app/config # Make sure your local config directory exists
- /home/user/docker-main/101_homepage/Data:/app/config
deploy:
replicas: 1
placement:
constraints: [ node.role == worker ]
searxng: # Meta-search engine #Search engine
image: searxng/searxng:latest
ports:
- "30515:8080"
volumes:
- /home/user/docker-main/515_Searx/Data:/etc/searxng:rw
# environment:
# - SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/
deploy:
replicas: 1
placement:
constraints: [ node.role == worker ]
librespeed: # Internal speed testing #Speed testing
image: linuxserver/librespeed:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- PASSWORD=${HOME_librespeed_pass}
ports:
- 30500:80
deploy:
replicas: 1
placement:
constraints: [ node.role == worker ]
nginx: # Internal site #Site
image: linuxserver/nginx:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- /home/user/docker-main/562_DtN/Data:/config
ports:
- 30562:80
# - 443:443
deploy:
replicas: 1
placement:
constraints: [ node.role == worker ]
traggo: # Keeping track of time #Time Tracking
image: traggo/server:latest
ports:
- 30563:3030
environment:
TRAGGO_DEFAULT_USER_NAME: ${HOME_Traggo_def_user}
TRAGGO_DEFAULT_USER_PASS: ${HOME_Traggo_def_pass}
volumes:
- /home/user/docker-main/563_Traggo/Data:/opt/traggo/data
deploy:
replicas: 1
placement:
constraints: [ node.role == worker ]
photoprism: # Photo gallery #Photo gallery
## Use photoprism/photoprism:preview for testing preview builds:
image: photoprism/photoprism:latest
ports:
- "30693:2342" # HTTP port (host:container)
environment:
PHOTOPRISM_ADMIN_USER: "admin" # admin login username
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # initial admin password (8-72 characters)
PHOTOPRISM_AUTH_MODE: "public" # authentication mode (public, password)
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # server URL in the format "http(s)://domain.name(:port)/(path)"
PHOTOPRISM_DISABLE_TLS: "true" # disables HTTPS/TLS even if the site URL starts with https:// and a certificate is available
PHOTOPRISM_DEFAULT_TLS: "false" # defaults to a self-signed HTTPS/TLS certificate if no other certificate is available
PHOTOPRISM_ORIGINALS_LIMIT: 10000 # file size limit for originals in MB (increase for high-res video)
PHOTOPRISM_HTTP_COMPRESSION: "gzip" # improves transfer speed and bandwidth utilization (none or gzip)
PHOTOPRISM_LOG_LEVEL: "info" # log level: trace, debug, info, warning, error, fatal, or panic
PHOTOPRISM_READONLY: "false" # do not modify originals directory (reduced functionality)
PHOTOPRISM_EXPERIMENTAL: "false" # enables experimental features
PHOTOPRISM_DISABLE_CHOWN: "false" # disables updating storage permissions via chmod and chown on startup
PHOTOPRISM_DISABLE_WEBDAV: "false" # disables built-in WebDAV server
PHOTOPRISM_DISABLE_SETTINGS: "false" # disables settings UI and API
PHOTOPRISM_DISABLE_TENSORFLOW: "true" # disables all features depending on TensorFlow
PHOTOPRISM_DISABLE_FACES: "true" # disables face detection and recognition (requires TensorFlow)
PHOTOPRISM_DISABLE_CLASSIFICATION: "true" # disables image classification (requires TensorFlow)
PHOTOPRISM_DISABLE_VECTORS: "false" # disables vector graphics support
PHOTOPRISM_DISABLE_RAW: "false" # disables indexing and conversion of RAW images
PHOTOPRISM_RAW_PRESETS: "false" # enables applying user presets when converting RAW images (reduces performance)
PHOTOPRISM_JPEG_QUALITY: 85 # a higher value increases the quality and file size of JPEG images and thumbnails (25-100)
PHOTOPRISM_DETECT_NSFW: "false" # automatically flags photos as private that MAY be offensive (requires TensorFlow)
PHOTOPRISM_UPLOAD_NSFW: "true" # allows uploads that MAY be offensive (no effect without TensorFlow)
PHOTOPRISM_DATABASE_DRIVER: "sqlite" # SQLite is an embedded database that doesn't require a server
# PHOTOPRISM_DATABASE_DRIVER: "mysql" # use MariaDB 10.5+ or MySQL 8+ instead of SQLite for improved performance
# PHOTOPRISM_DATABASE_SERVER: "mariadb:3306" # MariaDB or MySQL database server (hostname:port)
# PHOTOPRISM_DATABASE_NAME: "photoprism" # MariaDB or MySQL database schema name
# PHOTOPRISM_DATABASE_USER: "photoprism" # MariaDB or MySQL database user name
# PHOTOPRISM_DATABASE_PASSWORD: "insecure" # MariaDB or MySQL database user password
PHOTOPRISM_SITE_CAPTION: "Photos App"
PHOTOPRISM_SITE_DESCRIPTION: "" # meta site description
PHOTOPRISM_SITE_AUTHOR: "" # meta site author
## Run/install on first startup (options: update https gpu tensorflow davfs clitools clean):
# PHOTOPRISM_INIT: "https gpu tensorflow"
## Hardware Video Transcoding:
# PHOTOPRISM_FFMPEG_ENCODER: "software" # FFmpeg encoder ("software", "intel", "nvidia", "apple", "raspberry")
# PHOTOPRISM_FFMPEG_BITRATE: "32" # FFmpeg encoding bitrate limit in Mbit/s (default: 50)
# PHOTOPRISM_FFMPEG_RESOLUTION: "1920" # FFmpeg encoding resolution limit in pixel height (default: 4096)
## Run as a non-root user after initialization (supported: 0, 33, 50-99, 500-600, and 900-1200):
# PHOTOPRISM_UID: 1000
# PHOTOPRISM_GID: 1000
# PHOTOPRISM_UMASK: 0000
## Start as non-root user before initialization (supported: 0, 33, 50-99, 500-600, and 900-1200):
# user: "1000:1000"
## Share hardware devices with FFmpeg and TensorFlow (optional):
# devices:
# - "/dev/dri:/dev/dri" # Intel QSV
# - "/dev/nvidia0:/dev/nvidia0" # Nvidia CUDA
# - "/dev/nvidiactl:/dev/nvidiactl"
# - "/dev/nvidia-modeset:/dev/nvidia-modeset"
# - "/dev/nvidia-nvswitchctl:/dev/nvidia-nvswitchctl"
# - "/dev/nvidia-uvm:/dev/nvidia-uvm"
# - "/dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools"
# - "/dev/video11:/dev/video11" # Video4Linux Video Encode Device (h264_v4l2m2m)
# working_dir: "/photoprism" # do not change or remove
## Storage Folders: "~" is a shortcut for your home directory, "." for the current directory
volumes:
- "/home/user/docker-main/999_Drives/DSLR:/photoprism/originals" # Original media files (DO NOT REMOVE)
# - "/example/family:/photoprism/originals/family" # *Additional* media folders can be mounted like this
# - "~/Import:/photoprism/import" # *Optional* base folder from which files can be imported to originals
- "/home/user/docker-main/693_PhotoPrism/Data:/photoprism/storage" # *Writable* storage folder for cache, database, and sidecar files (DO NOT REMOVE)
deploy:
replicas: 1
placement:
constraints: [ node.role == worker ]
kroki-core: # Graphing API # Graphing Api
image: yuzutech/kroki
# environment:
# - KROKI_BLOCKDIAG_HOST=blockdiag
# - KROKI_MERMAID_HOST=mermaid
# - KROKI_BPMN_HOST=bpmn
# - KROKI_EXCALIDRAW_HOST=excalidraw
# - KROKI_WIREVIZ_HOST=wireviz
ports:
- "30700:8000"
deploy:
replicas: 1
placement:
constraints: [ node.role == worker ]
grocy:
image: linuxserver/grocy:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- /home/user/docker-main/520_Grocy/Data:/config
ports:
- 30520:80
deploy:
replicas: 1
placement:
constraints: [ node.role == worker ]
# changedetection:
# image: linuxserver/changedetection.io:latest
# environment:
# - PUID=1000
# - PGID=1000
# - TZ=Europe/London
## - BASE_URL= #optional
# volumes:
# - /home/user/docker-main/560_changeDetection/Data:/config
# ports:
# - 30560:5000
# deploy:
# replicas: 1
# placement:
# constraints: [ node.role == worker ]
networks:
# host:
# external: true
net: