Compare commits

..

9 Commits

Author SHA1 Message Date
Chris King
e21a330b33 init requestrr docker 2024-12-16 01:44:14 -08:00
Chris King
914a7487b4 init overseerr docker 2024-12-16 01:44:00 -08:00
Chris King
3a3d3ff9c4 init orbital-sync docker 2024-12-16 01:43:39 -08:00
Chris King
1ddee07e72 init openobserve docker 2024-12-16 01:43:27 -08:00
Chris King
c3f08d5191 init homepage docker 2024-12-16 01:43:13 -08:00
Chris King
116a7716ac init gitea docker 2024-12-16 01:43:05 -08:00
Chris King
eeeb05be82 init frigate docker 2024-12-16 01:42:52 -08:00
Chris King
f170058551 init authelia docker 2024-12-16 01:42:38 -08:00
Chris King
f3920b60ab Init actual-server docker 2024-12-16 01:42:18 -08:00
15 changed files with 634 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
services:
actual_server:
image: docker.io/actualbudget/actual-server:latest
ports:
# This line makes Actual available at port 5006 of the device you run the server on,
# i.e. http://localhost:5006. You can change the first number to change the port, if you want.
- '5006:5006'
#environment:
# - ACTUAL_LOGIN_METHOD=header
# Uncomment any of the lines below to set configuration options.
# - ACTUAL_HTTPS_KEY=/data/selfhost.key
# - ACTUAL_HTTPS_CERT=/data/selfhost.crt
# - ACTUAL_PORT=5006
# - ACTUAL_UPLOAD_FILE_SYNC_SIZE_LIMIT_MB=20
# - ACTUAL_UPLOAD_SYNC_ENCRYPTED_FILE_SYNC_SIZE_LIMIT_MB=50
# - ACTUAL_UPLOAD_FILE_SIZE_LIMIT_MB=20
# See all options and more details at https://actualbudget.github.io/docs/Installing/Configuration
# !! If you are not using any of these options, remove the 'environment:' tag entirely.
volumes:
# Change './actual-data' below to the path to the folder you want Actual to store its data in on your server.
# '/data' is the path Actual will look for its files in by default, so leave that as-is.
- ./data:/data
restart: unless-stopped

View File

@@ -0,0 +1,18 @@
server:
endpoints:
authz:
forward-auth:
implementation: 'ForwardAuth'
# Security https://www.authelia.com/configuration/security/access-control/
access_control:
rules:
- domain: '*.tremendousturtle.tools'
policy: two_factor
# Session https://www.authelia.com/configuration/session/introduction/
# Set also AUTHELIA_SESSION_SECRET_FILE
session:
cookies:
- domain: 'tremendousturtle.tools'
authelia_url: 'https://auth.tremendousturtle.tools'

View File

@@ -0,0 +1,78 @@
name: "authelia"
services:
app:
image: authelia/authelia:latest
restart: unless-stopped
depends_on:
- database
- redis
volumes:
- ./config/authelia:/config
ports:
- "9091:9091"
environment:
AUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_SECRET_FILE: /run/secrets/jwt_secret
AUTHELIA_SESSION_SECRET_FILE: /run/secrets/session_secret
AUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE: /run/secrets/smtp_pass
AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE: /run/secrets/storage_encryption_key
AUTHELIA_STORAGE_POSTGRES_PASSWORD_FILE: /run/secrets/postgres_pass
AUTHELIA_SESSION_REDIS_PASSWORD_FILE: /run/secrets/redis_pass
AUTHELIA_THEME: auto
AUTHELIA_LOG_LEVEL: debug
AUTHELIA_AUTHENTICATION_BACKEND_FILE_PATH: /run/secrets/users_database
AUTHELIA_TOTP_ISSUER: tremendousturtle.tools
AUTHELIA_ACCESS_CONTROL_DEFAULT_POLICY: deny
AUTHELIA_SESSION_REDIS_HOST: redis
AUTHELIA_SESSION_REDIS_PORT: 6379
AUTHELIA_STORAGE_POSTGRES_ADDRESS: tcp://database:5432
AUTHELIA_STORAGE_POSTGRES_DATABASE: authelia
AUTHELIA_STORAGE_POSTGRES_USERNAME: authelia
AUTHELIA_NOTIFIER_SMTP_ADDRESS: submissions://smtp.mailgun.org:465
AUTHELIA_NOTIFIER_SMTP_USERNAME: auth@mail.tremendousturtle.tools
AUTHELIA_NOTIFIER_SMTP_SENDER: Authelia <auth@tremendousturtle.tools>
secrets:
- jwt_secret
- session_secret
- smtp_pass
- storage_encryption_key
- postgres_pass
- redis_pass
- users_database
database:
image: postgres:15
restart: unless-stopped
volumes:
- ./data/postgres:/var/lib/postgresql/data
environment:
POSTGRES_USER: authelia
POSTGRES_PASSWORD_FILE: /run/secrets/postgres_pass
secrets:
- postgres_pass
redis:
image: redis:7
restart: unless-stopped
environment:
REDIS_PASSWORD_FILE: /run/secrets/redis_pass
command: sh -c "redis-server --save 60 1 --loglevel warning --requirepass $(cat $$REDIS_PASSWORD_FILE)"
volumes:
- ./data/redis:/data
secrets:
- redis_pass
secrets:
postgres_pass:
file: ./secrets/POSTGRES_PASS
jwt_secret:
file: ./secrets/JWT_SECRET
session_secret:
file: ./secrets/SESSION_SECRET
smtp_pass:
file: ./secrets/SMTP_PASSWORD
storage_encryption_key:
file: ./secrets/STORAGE_ENCRYPTION_KEY
redis_pass:
file: ./secrets/REDIS_PASSWORD
users_database:
file: ./secrets/users_database.yml

131
frigate/config/config.yaml Normal file
View File

@@ -0,0 +1,131 @@
# yaml-language-server: $schema=http://192.168.1.234:5000/api/config/schema.json
auth:
enabled: false
proxy:
header_map:
user: Remote-User
tls:
enabled: false
mqtt:
enabled: false
go2rtc:
streams:
nw_garage:
- ffmpeg:http://192.168.1.240/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=frigate&password=RN3cCsRP5HDF4hFy6dis5NTG#video=copy#audio=copy#audio=opus
ne_garage:
- ffmpeg:http://192.168.1.136/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=frigate&password=6aLJ6lWfm3aTlsgkJrt2m8S8#video=copy#audio=copy#audio=opus
doorbell:
- ffmpeg:http://192.168.1.60/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=frigate&password=dcp5rWdsQ3L4gVyUC2lLNGlf#video=copy#audio=copy#audio=opus
- rtsp://192.168.1.60/Preview_01_sub
webrtc:
candidates:
- 192.168.1.234:8555
- stun:8555
detectors: # <---- add detectors
coral1:
type: edgetpu
device: pci:0
coral2:
type: edgetpu
device: pci:1
objects:
track:
- person
- car
- dog
- cat
cameras:
nw_garage:
enabled: true
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/nw_garage
input_args: preset-rtsp-restream
roles:
- record
- detect
hwaccel_args: preset-vaapi
detect:
enabled: true
width: 960
height: 720
fps: 5
record:
enabled: true
motion:
mask:
- 0.865,0.955,0.865,0.99,0.895,0.99,0.895,0.955
- 0.827,0.955,0.827,0.99,0.858,0.99,0.858,0.955
- 0.79,0.955,0.79,0.99,0.821,0.99,0.821,0.955
ne_garage:
enabled: true
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/ne_garage
input_args: preset-rtsp-restream
roles:
- record
- detect
hwaccel_args: preset-vaapi
detect:
enabled: true
width: 960
height: 720
fps: 5
record:
enabled: true
motion:
mask:
- 0.865,0.955,0.865,0.99,0.895,0.99,0.895,0.955
- 0.827,0.955,0.827,0.99,0.858,0.99,0.858,0.955
- 0.79,0.955,0.79,0.99,0.821,0.99,0.821,0.955
doorbell:
enabled: true
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/doorbell
input_args: preset-rtsp-restream
roles:
- record
- detect
hwaccel_args: preset-vaapi
detect:
enabled: true
width: 960
height: 720
fps: 5
record:
enabled: true
motion:
mask:
- 0.79,0.003,0.79,0.035,0.82,0.035,0.82,0.003
- 0.828,0.003,0.828,0.035,0.858,0.035,0.858,0.003
- 0.866,0.003,0.866,0.035,0.896,0.035,0.896,0.003
threshold: 35
contour_area: 15
improve_contrast: true
version: 0.14
camera_groups:
Birdseye:
order: 1
icon: LuBird
cameras: birdseye
Front:
order: 2
icon: LuWarehouse
cameras:
- doorbell
- ne_garage
- nw_garage
detect:
stationary:
interval: 50
threshold: 40

View File

@@ -0,0 +1,27 @@
services:
frigate:
container_name: frigate
restart: unless-stopped
image: ghcr.io/blakeblackshear/frigate:stable
shm_size: "250mb"
devices:
- /dev/apex_0:/dev/apex_0 # Passes a PCIe Coral
- /dev/apex_1:/dev/apex_1 # Passes a PCIe Coral
- /dev/dri/renderD128:/dev/dri/renderD128 # GPU hw accel
volumes:
- /etc/localtime:/etc/localtime:ro
- ./data:/config
- ./config/config.yaml:/config/config.yaml
- /media/surveillance:/media/frigate
- type: tmpfs
target: /tmp/cache
tmpfs:
size: 4000000000
ports:
- "8971:8971"
- "8554:8554" # RTSP feeds
- "8555:8555/tcp" # WebRTC over tcp
- "8555:8555/udp" # WebRTC over udp
- "5000:5000" # VS Code schema validation allowed
environment:
LIBVA_DRIVER_NAME: "radeonsi" # FRIGATE_RTSP_PASSWORD: "69$nC*6$jADbc!"

2
gitea/.env Normal file
View File

@@ -0,0 +1,2 @@
GITEA_DB_NAME=gitea
GITEA_DB_USER=gitea

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

@@ -0,0 +1,49 @@
networks:
gitea:
external: false
services:
server:
image: gitea/gitea:latest
environment:
USER_UID: 141
USER_GID: 150
GITEA__database__DB_TYPE: postgres
GITEA__database__HOST: db:5432
GITEA__database__NAME: ${GITEA_DB_NAME}
GITEA__database__USER: ${GITEA_DB_USER}
GITEA__database__PASSWD__FILE: /run/secrets/postgres_pass
GITEA__server__SSH_AUTHORIZED_KEYS_COMMAND_TEMPLATE: gitea --config={{.CustomConf}} serv key-{{.Key.ID}}
restart: always
networks:
- gitea
volumes:
- ./data/gitea:/data
- /home/git/.ssh/:/data/git/.ssh
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "127.0.0.1:2222:22"
depends_on:
- db
secrets:
- postgres_pass
db:
image: postgres:14
restart: always
environment:
POSTGRES_USER: ${GITEA_DB_USER}
POSTGRES_PASSWORD_FILE: /run/secrets/postgres_pass
POSTGRES_DB: ${GITEA_DB_NAME}
networks:
- gitea
volumes:
- ./data/postgres:/var/lib/postgresql/data
secrets:
- postgres_pass
secrets:
postgres_pass:
file: ./secrets/POSTGRES_PASS

View File

@@ -0,0 +1,9 @@
services:
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
ports:
- 3000:3000
volumes:
- /path/to/config:/app/config # Make sure your local config directory exists
- /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations

View File

@@ -0,0 +1,37 @@
name: openobserve
services:
db:
image: postgres:15
restart: unless-stopped
environment:
POSTGRES_USER: openobserve
POSTGRES_PASSWORD_FILE: /run/secrets/postgres_pass
volumes:
- ./data/postgres:/var/lib/postgresql/data
secrets:
- postgres_pass
app:
image: public.ecr.aws/zinclabs/openobserve:latest
restart: unless-stopped
depends_on:
- db
ports:
- "5080:5080"
- "5514:5514"
env_file: ./secrets/openobserve.env
environment:
ZO_DATA_DIR: /data
ZO_DATA_STREAM_DIR: /stream
ZO_WEB_URL: https://openobserve.tremendousturtle.tools
ZO_TELEMETRY: false
ZO_PROMETHEUS_ENABLED: true
ZO_META_STORE: postgres
volumes:
- ./data/openobserve:/data
- ./data/stream:/stream
secrets:
postgres_pass:
file: ./secrets/POSTGRES_PASS

View File

@@ -0,0 +1,10 @@
services:
orbital-sync:
image: mattwebbio/orbital-sync:1
environment:
PRIMARY_HOST_BASE_URL: 'http://192.168.1.234:1080'
PRIMARY_HOST_PASSWORD: ""
SECONDARY_HOSTS_1_BASE_URL: 'http://192.168.1.116'
SECONDARY_HOSTS_1_PASSWORD: 'e8JBq59!pwM6Ppj'
INTERVAL_MINUTES: 60
VERBOSE: true

View File

@@ -0,0 +1,223 @@
{
"clientId": "bb40a33d-0bd4-4a13-b47e-57f97de8ed90",
"vapidPrivate": "NIRnOAl2iPQL4iLbTAsgLcxBuJnbINj5-k-_BDPEgQw",
"vapidPublic": "BHoozLG75WFgLXzgH_ljnWotlAwqGRat1eRZsd_zcsykHzN1MhWdukHOIgb7MzQYrcwMYHboeqihkSyoIKo7ziI",
"main": {
"apiKey": "MTYzNDA4NTYzNzU5MTgzNTQ2YzFhLTE3MGItNDE0Yi1hNjliLWVhYjJkZmE0ZDNhYyk=",
"applicationTitle": "Overseerr",
"applicationUrl": "",
"csrfProtection": false,
"cacheImages": false,
"defaultPermissions": 32,
"defaultQuotas": {
"movie": {},
"tv": {}
},
"hideAvailable": false,
"localLogin": true,
"newPlexLogin": true,
"region": "",
"originalLanguage": "",
"trustProxy": true,
"partialRequestsEnabled": true,
"locale": "en"
},
"plex": {
"name": "winterfell",
"ip": "192.168.1.234",
"port": 32400,
"useSsl": false,
"libraries": [
{
"id": "7",
"name": "4k Movies",
"enabled": true,
"type": "movie",
"lastScan": 1734342000015
},
{
"id": "2",
"name": "Movies",
"enabled": true,
"type": "movie",
"lastScan": 1734342000024
},
{
"id": "1",
"name": "TV Shows",
"enabled": true,
"type": "show",
"lastScan": 1734342000067
}
],
"machineId": "5e16f8ceb511bde943f92bbe07e3e6e33307eb16"
},
"tautulli": {
"hostname": "192.168.1.234",
"port": 8181,
"apiKey": "079935546d82416db237001d03059dc3"
},
"radarr": [
{
"name": "Radarr",
"hostname": "192.168.1.234",
"port": 7878,
"apiKey": "3fa0b478a19f4cb3add222e20f448ab8",
"useSsl": false,
"baseUrl": "",
"activeProfileId": 14,
"activeProfileName": "Default (Remux 1080p)",
"activeDirectory": "/media/movies",
"is4k": false,
"minimumAvailability": "released",
"tags": [],
"isDefault": true,
"syncEnabled": true,
"preventSearch": false,
"tagRequests": false,
"id": 0
}
],
"sonarr": [
{
"name": "Sonarr",
"hostname": "192.168.1.234",
"port": 8989,
"apiKey": "a050eae4aa664ac5b8b108d67e3f502f",
"useSsl": false,
"baseUrl": "",
"activeProfileId": 7,
"activeLanguageProfileId": 1,
"activeProfileName": "Default",
"activeDirectory": "/media/tv",
"activeAnimeProfileId": 9,
"activeAnimeLanguageProfileId": 1,
"activeAnimeProfileName": "Anime (Remux-1080p)",
"activeAnimeDirectory": "/media/tv",
"tags": [],
"animeTags": [],
"is4k": false,
"isDefault": true,
"enableSeasonFolders": true,
"syncEnabled": true,
"preventSearch": false,
"tagRequests": false,
"id": 0
}
],
"public": {
"initialized": true
},
"notifications": {
"agents": {
"email": {
"enabled": false,
"options": {
"emailFrom": "",
"smtpHost": "",
"smtpPort": 587,
"secure": false,
"ignoreTls": false,
"requireTls": false,
"allowSelfSigned": false,
"senderName": "Overseerr"
}
},
"discord": {
"enabled": true,
"types": 222,
"options": {
"webhookUrl": "https://discord.com/api/webhooks/897900990202777690/XRKCdyjqniEYYLwHI5du2BX96TlHmLjqzC8lEppioqIpR1uf2zkDNOHRg_zDOVG0kAwG",
"enableMentions": true
}
},
"lunasea": {
"enabled": false,
"types": 0,
"options": {
"webhookUrl": ""
}
},
"slack": {
"enabled": false,
"types": 0,
"options": {
"webhookUrl": ""
}
},
"telegram": {
"enabled": false,
"types": 0,
"options": {
"botAPI": "",
"chatId": "",
"sendSilently": false
}
},
"pushbullet": {
"enabled": false,
"types": 0,
"options": {
"accessToken": ""
}
},
"pushover": {
"enabled": false,
"types": 0,
"options": {
"accessToken": "",
"userToken": ""
}
},
"webhook": {
"enabled": false,
"types": 0,
"options": {
"webhookUrl": "",
"jsonPayload": "IntcbiAgICBcIm5vdGlmaWNhdGlvbl90eXBlXCI6IFwie3tub3RpZmljYXRpb25fdHlwZX19XCIsXG4gICAgXCJzdWJqZWN0XCI6IFwie3tzdWJqZWN0fX1cIixcbiAgICBcIm1lc3NhZ2VcIjogXCJ7e21lc3NhZ2V9fVwiLFxuICAgIFwiaW1hZ2VcIjogXCJ7e2ltYWdlfX1cIixcbiAgICBcImVtYWlsXCI6IFwie3tub3RpZnl1c2VyX2VtYWlsfX1cIixcbiAgICBcInVzZXJuYW1lXCI6IFwie3tub3RpZnl1c2VyX3VzZXJuYW1lfX1cIixcbiAgICBcImF2YXRhclwiOiBcInt7bm90aWZ5dXNlcl9hdmF0YXJ9fVwiLFxuICAgIFwie3ttZWRpYX19XCI6IHtcbiAgICAgICAgXCJtZWRpYV90eXBlXCI6IFwie3ttZWRpYV90eXBlfX1cIixcbiAgICAgICAgXCJ0bWRiSWRcIjogXCJ7e21lZGlhX3RtZGJpZH19XCIsXG4gICAgICAgIFwiaW1kYklkXCI6IFwie3ttZWRpYV9pbWRiaWR9fVwiLFxuICAgICAgICBcInR2ZGJJZFwiOiBcInt7bWVkaWFfdHZkYmlkfX1cIixcbiAgICAgICAgXCJzdGF0dXNcIjogXCJ7e21lZGlhX3N0YXR1c319XCIsXG4gICAgICAgIFwic3RhdHVzNGtcIjogXCJ7e21lZGlhX3N0YXR1czRrfX1cIlxuICAgIH0sXG4gICAgXCJ7e2V4dHJhfX1cIjogW10sXG4gICAgXCJ7e3JlcXVlc3R9fVwiOiB7XG4gICAgICAgIFwicmVxdWVzdF9pZFwiOiBcInt7cmVxdWVzdF9pZH19XCIsXG4gICAgICAgIFwicmVxdWVzdGVkQnlfZW1haWxcIjogXCJ7e3JlcXVlc3RlZEJ5X2VtYWlsfX1cIixcbiAgICAgICAgXCJyZXF1ZXN0ZWRCeV91c2VybmFtZVwiOiBcInt7cmVxdWVzdGVkQnlfdXNlcm5hbWV9fVwiLFxuICAgICAgICBcInJlcXVlc3RlZEJ5X2F2YXRhclwiOiBcInt7cmVxdWVzdGVkQnlfYXZhdGFyfX1cIlxuICAgIH1cbn0i"
}
},
"webpush": {
"enabled": false,
"options": {}
},
"gotify": {
"enabled": false,
"types": 0,
"options": {
"url": "",
"token": ""
}
}
}
},
"jobs": {
"plex-recently-added-scan": {
"schedule": "0 */5 * * * *"
},
"plex-full-scan": {
"schedule": "0 0 3 * * *"
},
"plex-watchlist-sync": {
"schedule": "0 */10 * * * *"
},
"radarr-scan": {
"schedule": "0 0 4 * * *"
},
"sonarr-scan": {
"schedule": "0 30 4 * * *"
},
"availability-sync": {
"schedule": "0 0 5 * * *"
},
"download-sync": {
"schedule": "0 * * * * *"
},
"download-sync-reset": {
"schedule": "0 0 1 * * *"
},
"image-cache-cleanup": {
"schedule": "0 0 5 * * *"
}
}
}

View File

@@ -0,0 +1,14 @@
services:
overseerr:
image: sctx/overseerr:latest
container_name: overseerr
user: '115'
environment:
- LOG_LEVEL=debug
- TZ=America/Los_Angeles
ports:
- 5055:5055
volumes:
- ./data:/app/config
- ./config/settings.json:/app/config/settings.json
restart: unless-stopped

View File

@@ -0,0 +1 @@
{"Movies":[{"UserId":"807028794493894707","MovieIds":[167701,558449]},{"UserId":"210278299295809538","MovieIds":[950396,558449]},{"UserId":"223917087477858304","MovieIds":[697620]},{"UserId":"692498823775257048","MovieIds":[32329,986056,575265,1048126,4909,4824]},{"UserId":"207995369093726218","MovieIds":[593961]}],"TvShows":[{"UserId":"210278299295809538","Notifications":[{"TvShowId":128098,"SeasonNumber":3,"IsPermanent":0},{"TvShowId":127532,"SeasonNumber":2,"IsPermanent":0}]},{"UserId":"807028794493894707","Notifications":[{"TvShowId":157741,"SeasonNumber":1,"IsPermanent":0},{"TvShowId":201646,"SeasonNumber":1,"IsPermanent":0},{"TvShowId":59659,"SeasonNumber":3,"IsPermanent":0},{"TvShowId":54650,"SeasonNumber":4,"IsPermanent":0},{"TvShowId":54650,"SeasonNumber":6,"IsPermanent":0}]},{"UserId":"151896142840332288","Notifications":[{"TvShowId":52,"SeasonNumber":8,"IsPermanent":0},{"TvShowId":2902,"SeasonNumber":1,"IsPermanent":0}]},{"UserId":"692498823775257048","Notifications":[{"TvShowId":250308,"SeasonNumber":1,"IsPermanent":0},{"TvShowId":251941,"SeasonNumber":1,"IsPermanent":0},{"TvShowId":219937,"SeasonNumber":1,"IsPermanent":0}]}],"Music":[]}

View File

@@ -0,0 +1 @@
{"Authentication":{"Username":"chris","Password":"VCj5yqvSYO4ruUSeAc8ftelwSxAA5wgGtuKNEroIIkg=","PrivateKey":"3ec2e0c9-c3c5-48c3-8af3-a59cbe565648"},"ChatClients":{"Discord":{"BotToken":"ODk3NjU1MzM3Mjk1OTcwMzE0.YWY0rg.GYoe2CKabu380pKc1TsGiP_vSP8","ClientId":"897655337295970314","StatusMessage":"/help","TvShowRoles":["894757006248906782","894757531392540693","894759271986786314"],"MovieRoles":["894757006248906782","894757531392540693","894759271986786314"],"MonitoredChannels":["897633767303311370"],"EnableRequestsThroughDirectMessages":false,"AutomaticallyNotifyRequesters":true,"NotificationMode":"Channels","NotificationChannels":["897633767303311370"],"AutomaticallyPurgeCommandMessages":false,"MusicRoles":[]},"Language":"english"},"DownloadClients":{"Ombi":{"Hostname":"","Port":3579,"ApiKey":"","ApiUsername":"","BaseUrl":"","UseSSL":false,"Version":"3","UseMovieIssue":false,"UseTVIssue":false},"Overseerr":{"Hostname":"192.168.1.234","Port":5055,"ApiKey":"MTYzNDA4NTYzNzU5MTgzNTQ2YzFhLTE3MGItNDE0Yi1hNjliLWVhYjJkZmE0ZDNhYyk=","Movies":{"DefaultApiUserId":"16","Categories":[{"Id":749,"Is4K":false,"Name":"Movies","ServiceId":0,"ProfileId":14,"RootFolder":"/media/movies","Tags":[]},{"Id":244,"Is4K":false,"Name":"Movies_Anime","ServiceId":0,"ProfileId":16,"RootFolder":"/media/movies","Tags":[]}]},"TvShows":{"DefaultApiUserId":"16","Categories":[{"Id":383,"Is4K":false,"Name":"TV","ServiceId":0,"ProfileId":7,"LanguageProfileId":1,"RootFolder":"/media/tv","Tags":[2]},{"Id":451,"Is4K":false,"Name":"TV_Anime","ServiceId":0,"ProfileId":9,"LanguageProfileId":1,"RootFolder":"/media/tv","Tags":[]}]},"UseSSL":false,"Version":"1","UseMovieIssue":false,"UseTVIssue":false},"Radarr":{"Hostname":"","Port":7878,"ApiKey":"","BaseUrl":"","Categories":[{"Id":0,"Name":"movie","ProfileId":"1","RootFolder":"","MinimumAvailability":"announced","Tags":[]}],"SearchNewRequests":true,"MonitorNewRequests":true,"UseSSL":false,"Version":"3"},"Sonarr":{"Hostname":"","Port":8989,"ApiKey":"","BaseUrl":"","Categories":[{"Id":0,"Name":"tv","ProfileId":"1","RootFolder":"","Tags":[],"LanguageId":"1","UseSeasonFolders":true,"SeriesType":"standard"}],"SearchNewRequests":true,"MonitorNewRequests":true,"UseSSL":false,"Version":"3"},"Lidarr":{"Hostname":"","Port":8686,"ApiKey":"","BaseUrl":"","Categories":[{"Id":0,"Name":"music","ProfileId":1,"MetadataProfileId":1,"RootFolder":"","Tags":[]}],"SearchNewRequests":true,"MonitorNewRequests":true,"UseSSL":false,"Version":"1"}},"BotClient":{"Client":"Discord"},"Movies":{"Client":"Overseerr"},"TvShows":{"Client":"Overseerr","Restrictions":"None"},"Port":4545,"BaseUrl":"","DisableAuthentication":false,"Version":"2.1.3","Music":{"Client":"Disabled"}}

View File

@@ -0,0 +1,11 @@
services:
requestrr:
image: thomst08/requestrr
hostname: requestrr
container_name: requestrr
ports:
- 4545:4545
volumes:
- ./config:/root/config
- ./data/tmp:/root/config/tmp
restart: unless-stopped