This commit is contained in:
2022-11-27 22:21:32 -06:00
commit 246130f780
11 changed files with 314 additions and 0 deletions

21
gitea/docker-compose.yml Normal file
View File

@@ -0,0 +1,21 @@
version: "2"
services:
web:
image: gitea/gitea:latest
restart: unless-stopped
volumes:
- /raid-pool/samba/webservers/gitea/data:/data
ports:
- "5022:3000"
depends_on:
- db
db:
image: mariadb:10
restart: always
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=password
volumes:
- /raid-pool/samba/webservers/gitea/db:/var/lib/mysql

View File

@@ -0,0 +1,12 @@
version: "3"
services:
nextcloud:
image: nextcloud:25.0.1
ports:
- 5002:80
volumes:
- /raid-pool/samba/webservers/nextcloud:/var/www/html
- /raid-pool/samba/webservers/nextcloud/mysql:/var/lib/mysql
- /raid-pool/samba/webservers/nextcloud/postgresql:/var/lib/postgresql/data
restart: unless-stopped

View File

@@ -0,0 +1,108 @@
version: '3.5'
# Example Docker Compose config file for PhotoPrism (Intel / AMD64)
#
# Documentation : https://docs.photoprism.org/getting-started/docker-compose/
# Docker Hub URL: https://hub.docker.com/r/photoprism/photoprism/
#
# Please run behind a reverse proxy like Caddy, Traefik or Nginx if you need HTTPS / SSL support
# e.g. when running PhotoPrism on a public server outside your home network.
#
# Usage: docker-compose up
services:
photoprism:
image: photoprism/photoprism:latest
container_name: photoprism
security_opt:
- seccomp:unconfined
- apparmor:unconfined
ports:
- 5050:2342 # [local port]:[container port]
# Uncomment the following lines to enable regular health checks (causes automatic restarts):
restart: unless-stopped
# healthcheck:
# test: ["CMD", "photoprism", "status"]
# interval: 60s
# timeout: 15s
# retries: 5
#
# Run "photoprism help" and "photoprism config" too see all config options and current values:
environment: # Run "photoprism help" and "photoprism config" too see all config options and current values
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # PLEASE CHANGE: This is your initial admin password
PHOTOPRISM_DEBUG: "false" # Run in debug mode (shows additional log messages)
PHOTOPRISM_PUBLIC: "false" # No authentication required (disables password protection)
PHOTOPRISM_READONLY: "false" # Don't modify originals directory (reduced functionality)
PHOTOPRISM_EXPERIMENTAL: "false" # Enable experimental features
PHOTOPRISM_SITE_URL: "" # Canonical / public site URL
PHOTOPRISM_SITE_TITLE: "PhotoPrism"
PHOTOPRISM_SITE_CAPTION: "Browse Your Life"
PHOTOPRISM_SITE_DESCRIPTION: ""
PHOTOPRISM_SITE_AUTHOR: ""
PHOTOPRISM_HTTP_HOST: "0.0.0.0"
PHOTOPRISM_HTTP_PORT: 2342
PHOTOPRISM_DISABLE_BACKUPS: "false" # Don't backup photo and album metadata to YAML files
PHOTOPRISM_DISABLE_WEBDAV: "false" # Disable built-in WebDAV server
PHOTOPRISM_DISABLE_SETTINGS: "false" # Users can not view or change settings
PHOTOPRISM_DISABLE_PLACES: "false" # Disables reverse geocoding and maps
PHOTOPRISM_DISABLE_EXIFTOOL: "false" # Don't create ExifTool JSON files for improved metadata extraction
PHOTOPRISM_DISABLE_TENSORFLOW: "false" # Don't use TensorFlow for image classification
PHOTOPRISM_DETECT_NSFW: "false" # Flag photos as private that MAY be offensive (requires TensorFlow)
PHOTOPRISM_UPLOAD_NSFW: "true" # Allow uploads that MAY be offensive
PHOTOPRISM_DARKTABLE_PRESETS: "false" # Use Darktable presets (disables concurrent raw image conversion)
PHOTOPRISM_DATABASE_DRIVER: "sqlite" # SQLite is an embedded database that doesn't require a server
# PHOTOPRISM_DATABASE_DRIVER: "mysql" # Use MariaDB (or MySQL) instead of SQLite for improved performance
PHOTOPRISM_DATABASE_SERVER: "mariadb:3306" # MariaDB database server (hostname:port)
PHOTOPRISM_DATABASE_NAME: "photoprism" # MariaDB database schema name
PHOTOPRISM_DATABASE_USER: "photoprism" # MariaDB database user name
PHOTOPRISM_DATABASE_PASSWORD: "insecure" # MariaDB database user password
PHOTOPRISM_THUMB_FILTER: "lanczos" # Resample filter, best to worst: blackman, lanczos, cubic, linear
PHOTOPRISM_THUMB_UNCACHED: "false" # Enable 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)
PHOTOPRISM_JPEG_QUALITY: 92 # Set to 95 for high-quality thumbnails (25-100)
# You may optionally set a user / group id using environment variables if your Docker version or NAS does not
# support this natively (see next example):
# UID: 1000
# GID: 1000
# UMASK: 0000
# Uncomment and edit the following line to set a specific user / group id (native):
# user: "1000:1000"
volumes:
# Storage folder for settings, index & sidecar files (DON'T REMOVE):
# Multiple folders can be indexed by mounting them as subfolders of /photoprism/originals:
# - "~/Family:/photoprism/originals/Family" # [folder_1]:/photoprism/originals/[folder_1]
# - "~/Friends:/photoprism/originals/Friends" # [folder_2]:/photoprism/originals/[folder_2]
# Mounting the import folder is optional (see docs):
# - "~/Import:/photoprism/import"
ofelia:
restart: unless-stopped
image: mcuadros/ofelia:latest
container_name: ofelia-photoprism
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "./jobs.ini:/etc/ofelia/config.ini"
# Uncomment the following lines to use MariaDB instead of SQLite for improved performance & scalability:
#
# mariadb:
# image: mariadb:10.5
# restart: unless-stopped
# command: mysqld --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=50
# volumes:
# - "/var/lib/mysql"
# environment:
# MYSQL_ROOT_PASSWORD: insecure
# MYSQL_DATABASE: photoprism
# MYSQL_USER: photoprism
# MYSQL_PASSWORD: insecure
# Uncomment the following lines to upgrade automatically, whenever there is a new Docker image available:
#
# watchtower:
# image: containrrr/watchtower
# restart: unless-stopped
# volumes:
# - "/var/run/docker.sock:/var/run/docker.sock"

41
photoprism/jobs.ini Normal file
View File

@@ -0,0 +1,41 @@
# See https://github.com/mcuadros/ofelia/blob/master/docs/jobs.md for job settings!
#
# Cron expressions in "schedule" represent times using 6 space-separated fields:
#
# Field name | Mandatory? | Allowed values | Allowed special characters
# ---------- | ---------- | -------------- | --------------------------
# Seconds | Yes | 0-59 | * / , -
# Minutes | Yes | 0-59 | * / , -
# Hours | Yes | 0-23 | * / , -
# Day of month | Yes | 1-31 | * / , - ?
# Month | Yes | 1-12 or JAN-DEC | * / , -
# Day of week | Yes | 0-6 or SUN-SAT | * / , - ?
# Uncomment to enable background indexing of files in your originals folder at 1am:
#
[job-exec "photoprism index"]
schedule = 0 0 1 * * *
container = photoprism
command = photoprism index --cleanup
no-overlap = true
# Uncomment to automatically import every 2 hours:
#
# [job-exec "photoprism import"]
# schedule = @every 2h
# container = photoprism
# command = photoprism import
# no-overlap = true
#[job-exec "photoprism convert"]
#schedule = @daily
#container = photoprism
#command = photoprism convert
#no-overlap = true
#[job-exec "photoprism backup"]
#schedule = @daily
#container = photoprism
#command = photoprism backup -a -i -f /photoprism/storage/index-backup.sql
#no-overlap = true

20
plex/docker-compose.yml Normal file
View File

@@ -0,0 +1,20 @@
version: '2'
services:
plex:
image: lscr.io/linuxserver/plex:latest
restart: unless-stopped
# ports:
# - 5039:32400
environment:
- TZ=America/Chicago
- PGID=1000
- PUID=1000
# - VERSION=docker
- VERSION=latest
network_mode: host
volumes:
- ./config:/config
- ./transcode:/data/transcode
- /wd2/webservers/media/sonarr/tv:/data/tvshows:ro
- /wd2/webservers/media/radarr/movies:/data/movies:ro

View File

@@ -0,0 +1,12 @@
version: '3'
services:
portainer:
image: portainer/portainer-ce:latest
restart: unless-stopped
ports:
- 5006:9000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /raid-pool/samba/webservers/portainer:/data

View File

@@ -0,0 +1,16 @@
version: "2.1"
services:
prowlarr:
image: lscr.io/linuxserver/prowlarr:develop
container_name: prowlarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
volumes:
- /raid-pool/samba/webservers/prowlarr:/config
ports:
- 5053:9696
restart: unless-stopped

18
radarr/docker-compose.yml Normal file
View File

@@ -0,0 +1,18 @@
version: '2'
services:
radarr:
image: linuxserver/radarr:latest
restart: always
ports:
- 5013:7878
volumes:
- /wd2/webservers/media/radarr/config:/config
- /wd2/webservers/media/radarr/downloads:/downloads
- /wd2/webservers/media/radarr/movies:/movies
- /wd2/webservers/media/data/transmission:/data
- /etc/localtime:/etc/localtime:ro
environment:
- PUID=1000
- PGID=1000

20
sonarr/docker-compose.yml Normal file
View File

@@ -0,0 +1,20 @@
version: '2'
services:
sonarr:
image: linuxserver/sonarr:latest
restart: always
ports:
- 5012:8989
volumes:
- /etc/localtime:/etc/localtime:ro
- /wd2/webservers/media/sonarr/config:/config
- /wd2/webservers/media/sonarr/tv:/tv
- /wd2/webservers/media/sonarr/downloads:/downloads
# use the transmission data folder currently
- /wd2/webservers/media/data/transmission:/data
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago

5
transmission/.env Normal file
View File

@@ -0,0 +1,5 @@
OPENVPN_USERNAME=user
OPENVPN_PASSWORD=password
TRANSMISSION_RPC_USERNAME=user
TRANSMISSION_RPC_PASSWORD=password

View File

@@ -0,0 +1,41 @@
version: '3'
# - /etc/localtime:/etc/localtime:ro
# - /your/storage/path/:/data
services:
transmission:
image: haugene/transmission-openvpn
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
volumes:
- /wd2/webservers/media/data/transmission:/data
- /wd2/webservers/transmission/config:/config
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
ports:
- 5027:9091
# - 51413:51413
dns:
- 8.8.8.8
- 8.8.4.4
env_file:
- .env
environment:
- OPENVPN_PROVIDER=PIA
- OPENVPN_USERNAME=${OPENVPN_USERNAME}
- OPENVPN_PASSWORD=${OPENVPN_PASSWORD}
- OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60
- LOCAL_NETWORK=192.168.1.0/24
- PGID=1000
- PUID=1000
- TRANSMISSION_WEB_UI=transmission-web-control
- TRANSMISSION_SPEED_LIMIT_UP=1
- TRANSMISSION_SPEED_LIMIT_UP_ENABLED=true
- TRANSMISSION_DOWNLOAD_QUEUE_SIZE=50
- TRANSMISSION_PEER_PORT_RANDOM_ON_START=true
- TRANSMISSION_RPC_USERNAME=${TRANSMISSION_RPC_USERNAME}
- TRANSMISSION_RPC_PASSWORD=${TRANSMISSION_RPC_PASSWORD}
- TRANSMISSION_RPC_AUTHENTICATION_REQUIRED=true