moved all files up a folder

This commit is contained in:
2023-12-18 20:09:03 -06:00
parent 9535a5add9
commit 3465aab0f2
1057 changed files with 0 additions and 0 deletions

3
docker/.smbcreds Executable file
View File

@@ -0,0 +1,3 @@
username=adminuser
password=8ung1e1!
domain=akanealw

3
docker/.ubuntucreds Executable file
View File

@@ -0,0 +1,3 @@
akanealw
8ung1e1!

13
docker/Caddyfile.txt Executable file
View File

@@ -0,0 +1,13 @@
{
# Global options block. Entirely optional, https is on by default
# Optional email key for lets encrypt
email akanealw@gmail.com
# Optional staging lets encrypt for testing. Comment out for production.
# acme_ca https://acme-staging-v02.api.letsencrypt.org/directory
}
myghost.mydomain.com {
reverse_proxy ghost:2368
}
www.myghost.mydomain.com {
redir https://myghost.mydomain.com{uri}
}

1
docker/certbotmanual.txt Executable file
View File

@@ -0,0 +1 @@
certbot certonly --manual --preferred-challenges=dns -m akanealw@gmail.com --agree-tos -d akanealw.com

1910
docker/docker_template_agent1.xml Executable file

File diff suppressed because it is too large Load Diff

21
docker/fstab Executable file
View File

@@ -0,0 +1,21 @@
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda2 during curtin installation
/dev/disk/by-uuid/60213de4-f1f8-47ee-a6eb-043607aba0a7 / ext4 defaults 0 0
/swap.img none swap sw 0 0
#Windows Shares
//192.168.1.21/nzbs /mnt/nzbs cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
//192.168.1.21/torrents /mnt/torrents cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
//192.168.1.10/music /mnt/music cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
//192.168.1.10/movies /mnt/movies cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
//192.168.1.10/tvshows /mnt/tvshows cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
//192.168.1.10/storage /mnt/mediapc cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
//192.168.1.17/storage /mnt/hypervhost-01 cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
//192.168.1.17/mediadownloads /mnt/downloads cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
//192.168.1.17/mediadownloads/youtubedl /docker/config/appdata/youtubedl/users/admin/video cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0
//192.168.1.17/mediadownloads/youtubedl /docker/config/appdata/youtubedl/users/admin/audio cifs uid=1000,credentials=/home/akanealw/.smbcreds,iocharset=utf8,vers=2.1,noperm 0 0

View File

@@ -0,0 +1,20 @@
version: '3'
services:
airsonic:
container_name: airsonic
hostname: airsonic
image: binhex/arch-airsonic-advanced:latest
environment:
- PUID=1000
- PGID=1000
- UMASK=000
- MAX_MEMORY=512
- CONTEXT_PATH=\
ports:
- 4040:4040/tcp
restart: always
volumes:
- /docker/appdata/airsonic:/config
- /mnt/music:/media
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,141 @@
theme: dark
jwt_secret: 9DGPzQy8SZQ7rV57V3DJnw
#default_redirection_url: https://www.google.com/
server:
host: 0.0.0.0
port: 9091
path: ""
read_buffer_size: 4096
write_buffer_size: 4096
enable_pprof: false
enable_expvars: false
disable_healthcheck: false
tls:
key: ""
certificate: ""
ntp:
address: "0.debian.pool.ntp.org:123"
version: 3
max_desync: 3s
disable_startup_check: true
disable_failure: true
log:
level: info
totp:
disable: false
issuer: akanealw.com
algorithm: sha1
digits: 6
period: 30
skew: 1
secret_size: 32
authentication_backend:
disable_reset_password: true
refresh_interval: 5m
file:
path: /config/users_database.yml
password:
algorithm: argon2id
iterations: 1
salt_length: 16
parallelism: 8
memory: 64
access_control:
default_policy: deny
rules:
# bypass rule
- domain: "auth.akanealw.com"
policy: bypass
- domain: "bitwarden.akanealw.com"
policy: bypass
- domain: "gitea.akanealw.com"
policy: bypass
- domain: "meshcentral.akanealw.com"
policy: bypass
- domain: "owncloud.akanealw.com"
policy: bypass
- domain: "overseerr.akanealw.com"
policy: bypass
- domain: "plex.akanealw.com"
policy: bypass
# two_factor rule
- domain: "akanealw.com"
policy: two_factor
- domain: "codeserver.akanealw.com"
policy: two_factor
- domain: "freshrss.akanealw.com"
policy: two_factor
- domain: "jackett.akanealw.com"
policy: two_factor
- domain: "jdownloader.akanealw.com"
policy: two_factor
- domain: "kavita.akanealw.com"
policy: two_factor
- domain: "lidarr.akanealw.com"
policy: two_factor
- domain: "metube.akanealw.com"
policy: two_factor
- domain: "monitorr.akanealw.com"
policy: two_factor
- domain: "mstream.akanealw.com"
policy: two_factor
- domain: "nzbhydra.akanealw.com"
policy: two_factor
- domain: "portainer.akanealw.com"
policy: two_factor
- domain: "prowlarr.akanealw.com"
policy: two_factor
- domain: "qbittorrent.akanealw.com"
policy: two_factor
- domain: "radarr.akanealw.com"
policy: two_factor
- domain: "sabnzbd.akanealw.com"
policy: two_factor
- domain: "sonarr.akanealw.com"
policy: two_factor
- domain: "www.akanealw.com"
policy: two_factor
session:
name: authelia_session
domain: akanealw.com
same_site: lax
secret: 8r9y4d8mY7NfQtpCe2oU
expiration: 6h
inactivity: 5m
remember_me_duration: 1w
regulation:
max_retries: 3
find_time: 10m
ban_time: 12h
storage:
local:
path: /config/db.sqlite3
encryption_key: iiB7C8Bn4A2gAhzs2fWaggUug76PZ4LU
notifier:
disable_startup_check: true
smtp:
username: akanealw@gmail.com
password: qlvmffuzpscltdgz
host: smtp.gmail.com
port: 587
sender: akanealw@gmail.com
identifier: dockerserver
subject: "[Authelia] {title}"
startup_check_address: akanealw@gmail.com
disable_require_tls: false
disable_html_emails: false
tls:
skip_verify: false
minimum_version: TLS1.2

View File

@@ -0,0 +1,33 @@
location / {
set $upstream_authelia http://192.168.1.30:9091;
proxy_pass $upstream_authelia;
client_body_buffer_size 128k;
#Timeout if the real server is dead
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
# Advanced Proxy Config
send_timeout 5m;
proxy_read_timeout 360;
proxy_send_timeout 360;
proxy_connect_timeout 360;
# Basic Proxy Config
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Uri $request_uri;
proxy_set_header X-Forwarded-Ssl on;
proxy_redirect http:// $scheme://;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_cache_bypass $cookie_session;
proxy_no_cache $cookie_session;
proxy_buffers 64 256k;
# If behind reverse proxy, forwards the correct IP, assumes you're using Cloudflare. Adjust IP for your Docker network.
set_real_ip_from 192.168.1.0/24;
real_ip_recursive on;
}

View File

@@ -0,0 +1,75 @@
location /authelia {
internal;
set $upstream_authelia http://192.168.1.34:9091/api/verify;
proxy_pass_request_body off;
proxy_pass $upstream_authelia;
proxy_set_header Content-Length "";
# Timeout if the real server is dead
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
client_body_buffer_size 128k;
proxy_set_header Host $host;
proxy_set_header X-Original-URL $scheme://$http_host$request_uri;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Uri $request_uri;
proxy_set_header X-Forwarded-Ssl on;
proxy_redirect http:// $scheme://;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_cache_bypass $cookie_session;
proxy_no_cache $cookie_session;
proxy_buffers 4 32k;
send_timeout 5m;
proxy_read_timeout 240;
proxy_send_timeout 240;
proxy_connect_timeout 240;
}
location / {
set $upstream_$hostname $forward_scheme://$server:$port;
proxy_pass $upstream_$hostname;
auth_request /authelia;
auth_request_set $target_url https://$http_host$request_uri;
auth_request_set $user $upstream_http_remote_user;
auth_request_set $email $upstream_http_remote_email;
auth_request_set $groups $upstream_http_remote_groups;
proxy_set_header Remote-User $user;
proxy_set_header Remote-Email $email;
proxy_set_header Remote-Groups $groups;
error_page 401 =302 https://auth.akanealw.com/?rd=$target_url;
client_body_buffer_size 128k;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
send_timeout 5m;
proxy_read_timeout 360;
proxy_send_timeout 360;
proxy_connect_timeout 360;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Uri $request_uri;
proxy_set_header X-Forwarded-Ssl on;
proxy_redirect http:// $scheme://;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_cache_bypass $cookie_session;
proxy_no_cache $cookie_session;
proxy_buffers 64 256k;
set_real_ip_from 192.168.1.0/24;
real_ip_recursive on;
}

View File

@@ -0,0 +1,26 @@
version: '3'
services:
bitwarden:
container_name: bitwarden
hostname: bitwarden
image: bitwardenrs/server
environment:
- TZ=America/Chicago
- ADMIN_TOKEN=h/oRssGu83I1E1WQGiSchYMAJnM0JcDXmjeI/A3QgMCasn/IK9zZldH5FXim0rSi
- DATABASE_URL=data/db.sqlite3
- DISABLE_ADMIN_TOKEN=false
- DOMAIN=https://bitwarden.akanealw.com
- ENABLE_DB_WAL=true
- INVITATIONS_ALLOWED=false
- SHOW_PASSWORD_HINT=false
- SIGNUPS_ALLOWED=false
- SIGNUPS_VERIFY=false
- SMTP_PORT=587
- SMTP_SSL=true
ports:
- 8013:80/tcp
restart: always
volumes:
- /docker/appdata/bitwarden:/data
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,23 @@
version: '3'
services:
cloudflareddns:
container_name: cloudflareddns
hostname: cloudflareddns
image: hotio/cloudflareddns
environment:
- PGID=1000
- PUID=1000
- TZ=America/Chicago
- CF_APIKEY=5d3a327a9d5abce38c73c4c4e6a4cd3897957
- CF_HOSTS=akanealw.com;akanealw.net
- CF_RECORDTYPES=A;A
- CF_USER=akanealw@gmail.com
- CF_ZONES=akanealw.com;akanealw.net
- DETECTION_MODE=dig-whoami.cloudflare
- INTERVAL=300
- LOG_LEVEL=2
restart: always
volumes:
- /mnt/docker/appdata/cloudflareddns/config:/config
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,21 @@
version: '3'
services:
deemix:
container_name: deemix
hostname: deemix
image: registry.gitlab.com/bockiii/deemix-docker
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
- ARL=b5ad4c03f6161f0b56bc0d0ed4f5fa4eead21e8693e7fe9599fc99c0fc30e8c32ffa5a56d39f2541aade61c38a98a596629ebb6052510b37187da4120579eb34ae331ca8678241b14db1b232ec670a4d6817a039114f7bc5b2b611c29042f95f
- DEEZUI=false
- UMASK=022
ports:
- 6595:6595/tcp
restart: always
volumes:
- /docker/appdata/deemix:/config
- /mnt/downloads/music:/downloads
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,40 @@
version: '3'
services:
filerun-mariadb:
container_name: filerun-mariadb
hostname: filerun-mariadb
image: mariadb:10.1
environment:
MYSQL_ROOT_PASSWORD: 8ung1e1!
MYSQL_USER: filerun
MYSQL_PASSWORD: filerun
MYSQL_DATABASE: filerun
restart: always
volumes:
- /docker/appdata/filerun/db:/var/lib/mysql
filerun:
container_name: filerun
hostname: filerun
image: afian/filerun
environment:
FR_DB_HOST: filerun-mariadb
FR_DB_PORT: 3306
FR_DB_NAME: filerun
FR_DB_USER: filerun
FR_DB_PASS: filerun
APACHE_RUN_USER: www-data
APACHE_RUN_USER_ID: 33
APACHE_RUN_GROUP: www-data
APACHE_RUN_GROUP_ID: 33
ports:
- 8087:80
restart: always
depends_on:
- filerun-mariadb
links:
- filerun-mariadb:db
volumes:
- /docker/appdata/filerun/html:/var/www/html
- /mnt/hypervhost-03:/user-files

View File

@@ -0,0 +1,36 @@
version: '3'
services:
freshrss:
container_name: freshrss
hostname: freshrss
image: freshrss/freshrss:latest
environment:
- PUID=1000
- PGID=1000
- CRON_MIN=*/20
- TZ=America/Chicago
ports:
- 8080:80/tcp
restart: always
depends_on:
- freshrss-db
volumes:
- /docker/appdata/freshrss/data:/var/www/FreshRSS/data
- /docker/appdata/freshrss/extensions:/var/www/FreshRSS/extensions
- /etc/localtime:/etc/localtime:ro
freshrss-db:
container_name: freshrss-db
hostname: freshrss-db
image: postgres:12-alpine
environment:
- PUID=1000
- PGID=1000
- POSTGRES_USER=freshrss
- POSTGRES_PASSWORD=freshrss
- POSTGRES_DB=freshrss
restart: always
volumes:
- /docker/appdata/freshrss-db/data:/var/lib/postgresql/data
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,21 @@
version: '3'
services:
goaccess:
container_name: goaccess
image: 'xavierh/goaccess-for-nginxproxymanager:latest'
environment:
- TZ=${TZ}
- SKIP_ARCHIVED_LOGS=False #optional
- DEBUG=False #optional
- BASIC_AUTH=False #optional
- BASIC_AUTH_USERNAME=${ADMIN_USERNAME} #optional
- BASIC_AUTH_PASSWORD=${ADMIN_PASSWORD} #optional
- EXCLUDE_IPS=127.0.0.1 #optional - comma delimited
- LOG_TYPE=NPM #optional - more information below
ports:
- 7880:7880
restart: always
volumes:
- ${DOCKERCONFIGS}/nginxproxymanager/data/logs:/opt/log
- ${DOCKERCONFIGS}/goaccess/custom/logs:/opt/custom

View File

@@ -0,0 +1,19 @@
version: '3'
services:
jackett:
container_name: jackett
hostname: jackett
image: binhex/arch-jackett
environment:
- PGID=1000
- PUID=1000
- UMASK=000
ports:
- 9117:9117/tcp
restart: always
volumes:
- /docker/appdata/jackett:/config
- /docker/appdata/jackett/data:/data
- /mnt/torrents:/torrents
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,42 @@
version: '3'
services:
jdownloader2:
container_name: jdownloader2
hostname: jdownloader2
image: jlesage/jdownloader-2
environment:
- PGID=1000
- PUID=1000
- UMASK=000
- TZ=America/Chicago
- KEEP_APP_RUNNING=1
- CLEAN_TMP_DIR=1
- MYJD_USER=akanealw@gmail.com
- MYJD_PASSWORD=trUKY4X8wzGiCr75ZmC9
- MYJD_DEVICE_NAME=dockerserver
- XDG_DOWNLOAD_DIR=/output
ports:
- 3129:3129/tcp
- 5800:5800/tcp
- 5900:5900/tcp
restart: always
volumes:
- /docker/appdata/jdownloader2:/config
- /mnt/downloads:/output
- /etc/localtime:/etc/localtime:ro
myjd-api:
container_name: myjd-api
hostname: myjd-api
image: rix1337/docker-myjd-api
environment:
- USER=akanealw@gmail.com
- PASS=trUKY4X8wzGiCr75ZmC9
- DEVICE=JDownloader
ports:
- 8009:8080/tcp
restart: always
volumes:
- /docker/appdata/myjdapi/config:/config
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,40 @@
version: "3"
services:
kutt:
container_name: kutt
hostname: kutt
image: kutt/kutt
environment:
DB_HOST: kutt-postgres
DB_NAME: kutt
DB_USER: kutt
DB_PASSWORD: kutt
REDIS_HOST: kutt-redis
env_file:
- .env
ports:
- 3000:3000/tcp
restart: always
depends_on:
- kutt-postgres
- kutt-redis
command: ["./wait-for-it.sh", "kutt-postgres:5432", "--", "npm", "start"]
kutt-redis:
container_name: kutt-redis
hostname: kutt-redis
image: redis:6.0-alpine
volumes:
- /opt/docker/appdata/kutt/redis_data:/data
kutt-postgres:
container_name: kutt-postgres
hostname: kutt-postgres
image: postgres:12-alpine
environment:
POSTGRES_USER: kutt
POSTGRES_PASSWORD: kutt
POSTGRES_DB: kutt
volumes:
- /opt/docker/appdata/kutt/postgres_data:/var/lib/postgresql/data

View File

@@ -0,0 +1,84 @@
# App port to run on
PORT=3000
# The name of the site where Kutt is hosted
SITE_NAME=kutt.akanealw.com
# The domain that this website is on
DEFAULT_DOMAIN=localhost:3000
# Generated link length
LINK_LENGTH=6
# Postgres database credential details
DB_HOST=postgres
DB_PORT=5432
DB_NAME=kutt
DB_USER=kutt
DB_PASSWORD=kutt
DB_SSL=false
# Redis host and port
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=kutt
# Disable registration
DISALLOW_REGISTRATION=false
# Disable anonymous link creation
DISALLOW_ANONYMOUS_LINKS=true
# The daily limit for each user
USER_LIMIT_PER_DAY=50
# Create a cooldown for non-logged in users in minutes
# Set 0 to disable
NON_USER_COOLDOWN=0
# Max number of visits for each link to have detailed stats
DEFAULT_MAX_STATS_PER_LINK=5000
# Use HTTPS for links with custom domain
CUSTOM_DOMAIN_USE_HTTPS=false
# A passphrase to encrypt JWT. Use a long and secure key.
JWT_SECRET=%5qCnXx%My^W6tXQCSz4
# Admin emails so they can access admin actions on settings page
# Comma seperated
ADMIN_EMAILS=akanealw@gmail.com
# Invisible reCaptcha secret key
# Create one in https://www.google.com/recaptcha/intro/
#RECAPTCHA_SITE_KEY=
#RECAPTCHA_SECRET_KEY=
# Google Cloud API to prevent from users from submitting malware URLs.
# Get it from https://developers.google.com/safe-browsing/v4/get-started
#GOOGLE_SAFE_BROWSING_KEY=
# Google Analytics tracking ID for universal analytics.
# Example: UA-XXXX-XX
#GOOGLE_ANALYTICS=
#GOOGLE_ANALYTICS_UNIVERSAL=
# Google Analytics tracking ID for universal analytics
# This one is used for links
# GOOGLE_ANALYTICS_UNIVERSAL=
# Your email host details to use to send verification emails.
# More info on http://nodemailer.com/
# Mail from example "Kutt <support@kutt.it>". Leave empty to use MAIL_USER
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_SECURE=true
MAIL_USER=akanealw@gmail.com
MAIL_FROM=akanealw@gmail.com
MAIL_PASSWORD=bzslssyiffjqgdwm
# The email address that will receive submitted reports.
REPORT_EMAIL=akanealw@gmail.com
# Support email to show on the app
#CONTACT_EMAIL=

View File

@@ -0,0 +1,18 @@
{
"$schema": "http://info.meshcentral.com/downloads/meshcentral-config-schema.json",
"settings": {
"cert": "meshcentral.akanealw.com",
"_WANonly": true,
"_LANonly": true,
"_sessionKey": "8ung1e1!",
"port": 443,
"_aliasPort": 443,
"redirPort": 80,
"_redirAliasPort": 80,
"AgentPong": 300,
"TLSOffload": false,
"SelfUpdate": false,
"AllowFraming": false,
"WebRTC": false
}
}

View File

@@ -0,0 +1,19 @@
version: '3'
services:
meshcentral:
container_name: meshcentral
hostname: meshcentral
image: typhonragewind/meshcentral
environment:
- HOSTNAME=dockerserver-01
- REVERSE_PROXY=false
- IFRAME=true
- ALLOW_NEW_ACCOUNTS=false
- WEBRTC=true
ports:
- 443:443/tcp
- 80:80/tcp
restart: always
volumes:
- /docker/appdata/meshcentral/data:/opt/meshcentral/meshcentral-data
- /docker/appdata/meshcentral/user_files:/opt/meshcentral/meshcentral-files

View File

@@ -0,0 +1,13 @@
version: "3"
services:
metube:
container_name: metube
hostname: metube
image: alexta69/metube
user: "1000:1000"
ports:
- 8082:8081
restart: always
volumes:
- /mnt/downloads/youtubedl:/downloads

View File

@@ -0,0 +1,19 @@
version: '3'
services:
monitorr:
container_name: monitorr
hostname: monitorr
image: monitorr/monitorr
environment:
- PGID=1000
- PUID=1000
- TZ=America/Chicago
ports:
- 8081:80/tcp
restart: always
volumes:
- /:/HD:ro
- /mnt/docker/appdata/monitorr/app:/app
- /mnt/docker/appdata/monitorr/config:/config
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,32 @@
version: '3'
services:
nextcloud:
container_name: nextcloud
hostname: nextcloud
image: nextcloud:latest
depends_on:
- nextcloud-mariadb
ports:
- 8083:80/tcp
restart: always
volumes:
- ./appdata/nextcloud/html:/var/www/html
- /mnt/storage:/truenas
- /etc/localtime:/etc/localtime:ro
nextcloud-mariadb:
container_name: nextcloud-mariadb
hostname: nextcloud-mariadb
image: mariadb:latest
environment:
- MYSQL_ROOT_PASSWORD=nextcloud
- MYSQL_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
expose:
- 3306/tcp
restart: always
volumes:
- ./appdata/nextcloud-mariadb/mysql:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,19 @@
version: '3'
services:
nginxproxymanager:
container_name: nginxproxymanager
hostname: nginxproxymanager
image: jc21/nginx-proxy-manager:latest
environment:
- X_FRAME_OPTIONS=sameorigin
- DB_SQLITE_FILE=/data/database.sqlite
ports:
- 443:443/tcp
- 80:80/tcp
- 81:81/tcp
restart: always
volumes:
- /docker/appdata/nginxproxymanager/data:/data
- /docker/appdata/nginxproxymanager/letsencrypt:/etc/letsencrypt
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,38 @@
version: '3'
services:
nginxproxymanager:
container_name: nginxproxymanager
hostname: nginxproxymanager
image: jc21/nginx-proxy-manager:2.9.4
environment:
- X_FRAME_OPTIONS=sameorigin
- DB_MYSQL_HOST=npmdb
- DB_MYSQL_PORT=3306
- DB_MYSQL_USER=npm
- DB_MYSQL_PASSWORD=npm
- DB_MYSQL_NAME=npm
ports:
- 443:443/tcp
- 80:80/tcp
- 81:81/tcp
restart: always
depends_on:
- npmdb
volumes:
- /docker/appdata/npm/data:/data
- /docker/appdata/npm/letsencrypt:/etc/letsencrypt
- /etc/localtime:/etc/localtime:ro
npmdb:
container_name: npmdb
hostname: npmdb
image: jc21/mariadb-aria:latest
restart: always
environment:
- MYSQL_ROOT_PASSWORD=npm
- MYSQL_DATABASE=npm
- MYSQL_USER=npm
- MYSQL_PASSWORD=npm
volumes:
- /docker/appdata/npm/mysql:/var/lib/mysql

View File

@@ -0,0 +1,18 @@
nginxwebdav:
container_name: nginxwebdav
hostname: nginxwebdav
image: dgraziotin/nginx-webdav-nononsense
environment:
- PUID=0
- PGID=0
- TZ=$TZ
- SERVER_NAMES=localhost,192.168.1.32,webdav.akanealw.com
- TIMEOUTS_S=1200
- CLIENT_MAX_BODY_SIZE=120M
ports:
- 32080:80
restart: always
volumes:
- ./appdata/nginxwebdav/.htpasswd:/etc/nginx/htpasswd
- ./appdata/nginxwebdav/config:/config
- /mnt/data/bookmarks:/data

View File

@@ -0,0 +1,18 @@
version: '3'
services:
airsonic:
container_name: airsonic
hostname: airsonic
image: binhex/arch-airsonic:latest
environment:
- PUID=1000
- PGID=1000
- UMASK=000
ports:
- 4040:4040/tcp
restart: always
volumes:
- /docker/appdata/airsonic:/config
- /mnt/music:/media
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,34 @@
version: '3'
services:
delugevpn:
container_name: delugevpn
hostname: delugevpn
image: binhex/arch-delugevpn
environment:
- ENABLE_PRIVOXY=no
- LAN_NETWORK=192.168.1.0/24
- NAME_SERVERS=209.222.18.222,84.200.69.80,37.235.1.174,1.1.1.1,209.222.18.218,37.235.1.177,84.200.70.40,1.0.0.1
- PGID=0
- PUID=0
- TZ=America/Chicago
- VPN_ENABLED=yes
- VPN_PROV=airvpn
- VPN_CLIENT=openvpn
- DELUGE_DAEMON_LOG_LEVEL=info
- DELUGE_WEB_LOG_LEVEL=info
- UMASK=000
cap_add:
- NET_ADMIN
ports:
- 58846:58846/tcp
- 46640:46640/tcp
- 8112:8112/tcp
restart: always
volumes:
- /docker/appdata/delugevpn:/config
- /docker/appdata/delugevpn/data:/data
- /docker/appdata/delugevpn/openvpn:/config/openvpn
- /mnt/downloads:/downloads
- /mnt/torrents:/torrents
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,11 @@
version: '3'
services:
docker-updater:
container_name: docker-updater
hostname: docker-updater
image: dockupdater/dockupdater:latest
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,48 @@
version: '3.3'
services:
influxdb:
container_name: influxdb
hostname: influxdb
image: influxdb:1.8.1
environment:
- INFLUXDB_DB=telegraf
ports:
- 8086:8086
restart: always
volumes:
- /docker/appdata/influxdb/data:/var/lib/influxdb
logging:
driver: "journald"
grafana:
container_name: grafana
hostname: grafana
image: grafana/grafana:7.1.3
user: "1000"
ports:
- 3000:3000
restart: always
depends_on:
- influxdb
volumes:
- /docker/appdata/grafana/data:/var/lib/grafana
- /docker/appdata/grafana/config/provisioning:/etc/grafana/provisioning
- /docker/appdata/grafana/config/dashboards:/var/lib/grafana/dashboards
logging:
driver: "journald"
loki:
container_name: loki
hostname: loki
image: grafana/loki:1.6.0
user: "1000"
ports:
- 3100:3100
command: -config.file=/etc/loki/local-config.yaml
restart: always
volumes:
- /docker/appdata/loki/config/loki-config.yaml:/etc/loki/local-config.yaml
- /docker/appdata/loki/data:/loki
logging:
driver: "journald"

View File

@@ -0,0 +1,15 @@
version: '3'
services:
guacamole:
container_name: guacamole
hostname: guacamole
image: oznu/guacamole
environment:
- TZ=America/Chicago
ports:
- 8082:8080/tcp
restart: always
volumes:
- /mnt/docker/appdata/guacamole/config:/config
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,13 @@
version: '3'
services:
kitana:
container_name: kitana
hostname: kitana
image: pannal/kitana:latest
ports:
- 31337:31337/tcp
restart: always
volumes:
- /docker/appdata/kitana/data:/app/data
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,17 @@
version: '3'
services:
ombi:
container_name: ombi
hostname: ombi
image: linuxserver/ombi:latest
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
ports:
- 3579:3579/tcp
restart: always
volumes:
- /docker/appdata/ombi/config:/config
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,18 @@
version: '3'
services:
ouroboros:
container_name: ouroboros
hostname: ouroboros
image: pyouroboros/ouroboros
environment:
- CLEANUP=true
- 'CRON=0 4 * * *'
- INTERVAL=300
- LOG_LEVEL=info
- SELF_UPDATE=true
- TZ=America/Chicago
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,31 @@
version: '3'
services:
plex-db-sync:
container_name: plex-db-sync
hostname: plexdbsync
image: nowsci/plex-db-sync
environment:
- CRON=0 4 * * *
- S1_SSH_KEY=/sshkey/dockerserver-03.pds
- S1_SSH_USER=akanealw
- S1_SSH_HOST=192.168.1.33
- S1_SSH_PORT=22
- S1_SSH_PATH=""/docker/appdata/plex/Library/Application Support/Plex Media Server/Plug-in Support/Databases/""
- S1_START=ssh -oStrictHostKeyChecking=no -i /sshkey/dockerserver-03.pds akanealw@192.168.1.33 'cd /docker/compose; sudo docker start plex'
- S1_STOP=ssh -oStrictHostKeyChecking=no -i /sshkey/dockerserver-03.pds akanealw@192.168.1.33 'cd /docker/compose; sudo docker stop plex'
- S2_DB_PATH=/mnt/DB2
- S2_START=cd /docker/compose; sudo docker start plex
- S2_STOP=cd /docker/compose; sudo docker stop plex
- INITIALRUN=false
cap_add:
- SYS_ADMIN
devices:
- /dev/fuse
security_opt:
- apparmor:unconfined
restart: always
volumes:
- /docker/appdata/plex-db-sync/sshkey:/sshkey
- /docker/appdata/plex/Library/Application Support/Plex Media Server/Plug-in Support/Databases:/mnt/DB2
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,12 @@
version: '2'
services:
rssbridge:
container_name: rssbridge
hostname: rssbridge
image: rssbridge/rss-bridge:latest
ports:
- 3001:80/tcp
restart: always
volumes:
- /docker/appdata/rssbridge/whitelist.txt:/app/whitelist.txt
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,18 @@
version: '3'
services:
sslh:
container_name: sslh
hostname: sslh
image: oorabona/sslh:latest
environment:
SSH_HOST: 192.168.1.31
SSH_PORT: 2222
OPENVPN_HOST: 192.168.1.31
OPENVPN_PORT: 1194
HTTPS_HOST: 192.168.1.32
HTTPS_PORT: 8443
command:
- -f
ports:
- 0.0.0.0:443:443
restart: always

View File

@@ -0,0 +1,64 @@
version: '3'
services:
tdarr-node-02:
container_name: tdarr-node-02
hostname: tdarr-node-02
image: haveagitgat/tdarr_node:v2-preview
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
- nodeID=node-02-dockerserver-02
- nodeIP=192.168.1.32
- nodePort=8267
- serverIP=192.168.1.32
- serverPort=8266
ports:
- 8267:8267/tcp
restart: unless-stopped
volumes:
- /mnt/movies:/mnt/movies
- /mnt/tvshows:/mnt/tvshows
- /mnt/tvshows2:/mnt/tvshows2
- /mnt/vods:/mnt/vods
- /mnt/tvshowstranscode:/mnt/tvhsowstranscode
- /mnt/tvshows2transcode:/mnt/tvshows2transcode
- /mnt/moviestranscode:/mnt/moviestranscode
- /mnt/vodstranscode:/mnt/vodstranscode
- /mnt/downloads/complete:/mnt/input
- /mnt/downloads/converted:/mnt/output
- /mnt/downloads/transcode:/mnt/inputtranscode
- /docker/appdata/tdarr/node-02:/app/node
- /etc/localtime:/etc/localtime:ro
tdarr-server:
container_name: tdarr-server
hostname: tdarr-server
image: haveagitgat/tdarr:v2-preview
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
- serverIP=192.168.1.32
- webUIPort=8265
- serverPort=8266
ports:
- 8265:8265/tcp
- 8266:8266/tcp
restart: unless-stopped
volumes:
- /mnt/movies:/mnt/movies
- /mnt/tvshows:/mnt/tvshows
- /mnt/tvshows2:/mnt/tvshows2
- /mnt/vods:/mnt/vods
- /mnt/tvshowstranscode:/mnt/tvhsowstranscode
- /mnt/tvshows2transcode:/mnt/tvshows2transcode
- /mnt/moviestranscode:/mnt/moviestranscode
- /mnt/vodstranscode:/mnt/vodstranscode
- /mnt/downloads/complete:/mnt/input
- /mnt/downloads/converted:/mnt/output
- /mnt/downloads/transcode:/mnt/inputtranscode
- /docker/appdata/tdarr/server:/app/server
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,13 @@
version: '3'
services:
watchtower:
container_name: watchtower
hostname: watchtower
image: containrrr/watchtower:latest
environment:
- WATCHTOWER_CLEANUP=TRUE
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,22 @@
version: '3'
services:
youtubedl-material:
container_name: youtubedl-material
hostname: youtubedl-material
image: tzahi12345/youtubedl-material
environment:
- PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- UID=1000
- GID=1000
- USER=youtube
ports:
- 8998:17442/tcp
restart: always
volumes:
- /docker/appdata/youtubedl/appdata:/app/appdata
- /docker/appdata/youtubedl/subscriptions:/app/subscriptions
- /docker/appdata/youtubedl/users:/app/users
- /mnt/downloads/youtubedl:/app/audio
- /mnt/downloads/youtubedl:/app/video
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,20 @@
version: '3'
services:
nzbhydra2:
container_name: nzbhydra2
hostname: nzbhydra2
image: binhex/arch-nzbhydra2
environment:
- PGID=1000
- PUID=1000
- UMASK=000
ports:
- 5076:5076/tcp
restart: always
volumes:
- /docker/appdata/nzbhydra2/data:/data
- /docker/appdata/nzbhydra2:/config
- /mnt/nzbs:/nzbs
- /mnt/torrents:/torrents
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,12 @@
version: '2'
services:
openvpn:
cap_add:
- NET_ADMIN
image: kylemanna/openvpn
container_name: openvpn
ports:
- 1194:1194/tcp
restart: always
volumes:
- /docker/appdata/openvpn/conf:/etc/openvpn

View File

@@ -0,0 +1,17 @@
version: '3'
services:
organizr:
container_name: organizr
hostname: organizr
image: organizr/organizr
environment:
- PGID=1000
- PUID=1000
- FPM=false
ports:
- 8083:80/tcp
restart: always
volumes:
- /mnt/docker/appdata/organizr/config:/config
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,16 @@
version: '3'
services:
overseerr:
container_name: overseerr
hostname: overseerr
image: sctx/overseerr
environment:
- LOG_LEVEL=info
- TZ=America/Chicago
ports:
- 5055:5055
restart: always
volumes:
- /docker/appdata/overseerr/config:/app/config
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,11 @@
#PIHOLE
FTLCONF_LOCAL_IPV4=192.168.1.30
REV_SERVER=false
REV_SERVER_DOMAIN=
REV_SERVER_TARGET=
REV_SERVER_CIDR=
HOSTNAME=pihole
DOMAIN_NAME=pihole.local
PIHOLE_WEBPORT=8000
WEBTHEME=default-dark
WEBPASSWORD=8PVkCY4FbyKWEACiG22^

View File

@@ -0,0 +1,28 @@
version: '3'
services:
pihole:
container_name: pihole
image: cbcrowe/pihole-unbound:latest
hostname: ${HOSTNAME}
domainname: ${DOMAIN_NAME}
environment:
- FTLCONF_LOCAL_IPV4=${FTLCONF_LOCAL_IPV4}
- TZ=${TZ}
- WEBPASSWORD=${WEBPASSWORD}
- WEBTHEME=${WEBTHEME:-default-dark}
- REV_SERVER=${REV_SERVER:-false}
- REV_SERVER_TARGET=${REV_SERVER_TARGET}
- REV_SERVER_DOMAIN=${REV_SERVER_DOMAIN}
- REV_SERVER_CIDR=${REV_SERVER_CIDR}
- PIHOLE_DNS_=127.0.0.1#5335
- DNSSEC="true"
- DNSMASQ_LISTENING=single
ports:
- 53:53/tcp
- 53:53/udp
- 8000:80/tcp
restart: always
volumes:
- ${DOCKERCONFIGS}/pihole/unbound:/etc/pihole:rw
- ${DOCKERCONFIGS}/pihole/dnsmasq-unbound:/etc/dnsmasq.d:rw

View File

@@ -0,0 +1,18 @@
plex:
container_name: plex
hostname: plex
image: lscr.io/linuxserver/plex:latest
environment:
- PUID=$PUID
- PGID=$PGID
- VERSION=docker
- PLEX_CLAIM=claim-XkD2rruFZdzs4i-epJVB
ports:
- 32400:32400
restart: always
volumes:
- ./appdata/plex:/config
- /mnt/movies:/movies
- /mnt/music:/music
- /mnt/tvshows:/tvshows
- /mnt/vods:/vods

View File

@@ -0,0 +1,16 @@
version: '3'
services:
portainer-agent:
container_name: portainer-agent
hostname: portainer-agent
image: portainer/agent
environment:
- AGENT_SECRET=8ung1e1!
ports:
- 9001:9001/tcp
restart: always
volumes:
- /var/lib/docker/volumes:/var/lib/docker/volumes
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,14 @@
version: '3'
services:
portainer-agent:
container_name: portainer-agent
hostname: portainer-agent
image: portainer/agent:latest
ports:
- 9001:9001/tcp
restart: always
volumes:
- /var/lib/docker/volumes:/var/lib/docker/volumes
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,30 @@
version: '3'
services:
portainer:
container_name: portainer
hostname: DockerServer-04
image: portainer/portainer-ce
environment:
- AGENT_SECRET=8ung1e1!
ports:
- 9000:9000/tcp
restart: always
volumes:
- /mnt/data/docker/appdata/portainer/data:/data
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro
portainer-agent:
container_name: portainer-agent
hostname: portainer-agent
image: portainer/agent
environment:
- AGENT_SECRET=8ung1e1!
ports:
- 9001:9001/tcp
restart: always
volumes:
- /var/lib/docker/volumes:/var/lib/docker/volumes
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,26 @@
version: '3'
services:
portainer:
container_name: portainer
hostname: DockerServer-04
image: portainer/portainer-ce
ports:
- 9000:9000/tcp
restart: always
volumes:
- /mnt/data/docker/appdata/portainer/data:/data
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro
portainer-agent:
container_name: portainer-agent
hostname: portainer-agent
image: portainer/agent:latest
ports:
- 9001:9001/tcp
restart: always
volumes:
- /var/lib/docker/volumes:/var/lib/docker/volumes
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1 @@
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -e AGENT_SECRET=8ung1e1! -v /var/run/docker.sock:/var/run/docker.sock -v /mnt/data/docker/appdata/portainer/data:/data portainer/portainer-ce

View File

@@ -0,0 +1,30 @@
version: '3'
services:
privoxyvpn:
container_name: privoxyvpn
hostname: privoxyvpn
image: binhex/arch-privoxyvpn
environment:
- PUID=1000
- PGID=1000
- UMASK=000
- VPN_ENABLED=yes
- VPN_PROV=airvpn
- VPN_CLIENT=openvpn
- LAN_NETWORK=192.168.1.0/24
- NAME_SERVERS=209.222.18.222,84.200.69.80,37.235.1.174,1.1.1.1,209.222.18.218,37.235.1.177,84.200.70.40,1.0.0.1
- ENABLE_SOCKS=yes
- ENABLE_PRIVOXY=yes
- DEBUG=true
- SOCKS_USER=akanealw
- SOCKS_PASS=N^k6vK!ocKLDa%iHb7Ag
cap_add:
- NET_ADMIN
ports:
- 8118:8118/tcp
- 9118:9118/tcp
restart: always
volumes:
- /mnt/docker/appdata/privoxyvpn/config:/config
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,15 @@
version: '3'
services:
prowlarr:
container_name: prowlarr
hostname: prowlarr
image: ghcr.io/linuxserver/prowlarr:develop
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
ports:
- 9696:9696
restart: always
volumes:
- /docker/appdata/prowlarr/config:/config

View File

@@ -0,0 +1,32 @@
version: '3'
services:
qbittorrentvpn:
container_name: qbittorrentvpn
hostname: qbittorrentvpn
image: binhex/arch-qbittorrentvpn:latest
environment:
- ENABLE_PRIVOXY=no
- LAN_NETWORK=192.168.1.0/24
- NAME_SERVERS=.1.1.1,8.8.8.8,1.0.0.1,8.8.4.4,9.9.9.9
- PGID=0
- PUID=0
- TZ=$TZ
- VPN_ENABLED=yes
- VPN_PROV=custom
- VPN_CLIENT=wireguard
- WEBUI_PORT=8282
- UMASK=$UMASK
privileged: true
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
ports:
- 58483:58483/tcp
- 8282:8282/tcp
restart: always
volumes:
- ./appdata/qbittorrentvpn:/config
- ./appdata/qbittorrentvpn/openvpn:/config/openvpn
- /mnt/data:/data
- /mnt/data/downloads/torrents:/torrents
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,31 @@
version: '3'
services:
sabnzbdvpn:
container_name: sabnzbdvpn
hostname: sabnzbdvpn
image: binhex/arch-sabnzbdvpn:3.6.1-1-03
environment:
- ENABLE_PRIVOXY=no
- LAN_NETWORK=192.168.1.0/24
- NAME_SERVERS=1.1.1.1,8.8.8.8,1.0.0.1,8.8.4.4,9.9.9.9
- PGID=0
- PUID=0
- TZ=$TZ
- VPN_ENABLED=yes
- VPN_PROV=custom
- VPN_CLIENT=wireguard
- UMASK=$UMASK
privileged: true
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
ports:
- 8181:8080/tcp
- 8191:8090/tcp
restart: always
volumes:
- ./appdata/sabnzbdvpn:/config
- ./appdata/sabnzbdvpn/openvpn:/config/openvpn
- /mnt/data:/data
- /mnt/data/downloads/nzbs:/nzbs
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,18 @@
version: "2.1"
services:
openssh-server:
container_name: openssh-server
hostname: openssh-server
image: ghcr.io/linuxserver/openssh-server
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
- USER_NAME=akanealw
- PUBLIC_KEY_FILE=/etc/ssh/sshusers_authorized_keys
ports:
- 2222:2222
restart: always
volumes:
- /docker/appdata/openssh-server/config:/config

View File

@@ -0,0 +1,5 @@
tcp://0.0.0.0, quic://0.0.0.0, relay://137.184.207.232:22067/?id=HXGF73B-NNVNG26-FD4R75H-NCL3TOT-OQTTSW3-GV3GIEL-VOU6QAG-36RISAD
https://137.184.207.232:22026/?id=HXGF73B-NNVNG26-FD4R75H-NCL3TOT-OQTTSW3-GV3GIEL-VOU6QAG-36RISAD
tcp://0.0.0.0, quic://0.0.0.0, relay://akanealw.com:22067/?id=HXGF73B-NNVNG26-FD4R75H-NCL3TOT-OQTTSW3-GV3GIEL-VOU6QAG-36RISAD
https://akanealw.com:22026/?id=HXGF73B-NNVNG26-FD4R75H-NCL3TOT-OQTTSW3-GV3GIEL-VOU6QAG-36RISAD

View File

@@ -0,0 +1,28 @@
version: '3'
services:
syncthing-relay-discovery:
container_name: syncthing
image: t4skforce/syncthing-relay-discovery:latest
environment:
RELAY_OPTS: '-debug'
DISC_OPTS: '-debug -http'
POOLS:
ports:
- 22067:22067
- 22026:22026
restart: always
volumes:
- ./appdata/syncthing:/home/syncthing/certs
portainer:
container_name: portainer
image: portainer/portainer-ce
ports:
- 9000:9000/tcp
restart: always
volumes:
- ./appdata/portainer/data:/data
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1,19 @@
version: '3'
services:
tautulli:
container_name: tautulli
hostname: tautulli
image: linuxserver/tautulli
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
ports:
- 8183:8181/tcp
restart: always
volumes:
- /docker/appdata/tautulli:/config
- /docker/appdata/tautulli/logs:/logs
- /mnt/plexlogs:/plexlogs
- /etc/localtime:/etc/localtime:ro

View File

@@ -0,0 +1 @@
docker run --name minideb --h minideb bitnami/minideb:latest exec -t /bin/bash

View File

@@ -0,0 +1,11 @@
version: '3'
services:
debian-buster-slim:
image: debian:buster-slim
container_name: debian-buster-slim
hostname: debian-buster-slim
environment:
- TZ=America/Chicago
volumes:
- /docker/appdata/debian-buster-slim:/

View File

@@ -0,0 +1,24 @@
version: "2.1"
services:
jellyfin:
image: ghcr.io/linuxserver/jellyfin
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
- JELLYFIN_PublishedServerUrl=192.168.1.33
ports:
- 8096:8096/tcp
- 8920:8920/tcp
- 7359:7359/udp
- 1900:1900/udp
restart: always
volumes:
- /docker/appdata/jellyfin/config:/config
- /mnt/tvshows:/data/tvshows
- /mnt/tvshows2:/data/tvshows2
- /mnt/movies:/data/movies
- /mnt/movies2:/data/movies2
- /mnt/vods:/data/vods
- /opt/vc/lib:/opt/vc/lib

View File

@@ -0,0 +1,26 @@
version: '3'
services:
petio:
image: ghcr.io/petio-team/petio:latest
container_name: 'petio'
hostname: petio
ports:
- '7777:7777'
user: '1000:1000'
depends_on:
- petio-mongodb
environment:
- TZ=America/Chicago
volumes:
- /docker/appdata/petio/config:/app/api/config
- /docker/appdata/petio/logs:/app/logs
petio-mongodb:
image: mongo:latest
container_name: 'petio-mongodb'
hostname: petio-mongodb
user: '1000:1000'
volumes:
- /docker/appdata/petio-mongodb/db:/data/db
- /docker/appdata/petio-mongodb/configdb:/data/configdb

View File

@@ -0,0 +1,20 @@
version: "3"
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
ports:
- "53:53/tcp"
- "53:53/udp"
- "80:80/tcp"
environment:
TZ: 'America/Chicago'
WEBPASSWORD: 'set a secure password here or it will be random'
# Volumes store your data between container upgrades
volumes:
- '/docker/appdata/pihole/etc-pihole/:/etc/pihole/'
- '/docker/appdata/pihole/etc-dnsmasq.d/:/etc/dnsmasq.d/'
# run `touch /docker/appdata/pihole/var-log/pihole.log` first unless you like errors
- '/docker/appdata/pihole/var-log/pihole.log:/var/log/pihole.log'
restart: unless-stopped

View File

@@ -0,0 +1,38 @@
version: "2"
services:
seafile-mysql:
container_name: seafile-mysql
hostname: seafilemysql
image: mariadb:10.5
environment:
- MYSQL_ROOT_PASSWORD=8ung1e1!
- MYSQL_LOG_CONSOLE=true
volumes:
- /docker/appdata/seafile/seafile-mysql/db:/var/lib/mysql
memcached:
container_name: seafile-memcached
hostname: seafilememcached
image: memcached:1.5.6
entrypoint: memcached -m 256
seafile:
container_name: seafile
hostname: seafile
image: seafileltd/seafile-mc:latest
environment:
- DB_HOST=seafilemysql
- DB_ROOT_PASSWD=8ung1e1!
- TIME_ZONE=America/Chicago
- SEAFILE_ADMIN_EMAIL=akanealw@gmail.com
- SEAFILE_ADMIN_PASSWORD=8ung1e1!
- SEAFILE_SERVER_LETSENCRYPT=false
- SEAFILE_SERVER_HOSTNAME=seafile.akanealw.com
ports:
- "80:80"
depends_on:
- seafile-mysql
- memcached
volumes:
- /docker/appdata/seafile/seafile-data:/shared

View File

@@ -0,0 +1,50 @@
version: '3.3'
services:
tubearchivist:
container_name: tubearchivist
hostname: tubearchivist
image: bbilly1/tubearchivist:latest
environment:
- ES_URL=http://archivist-es:9200
- REDIS_HOST=archivist-redis
- HOST_UID=1000
- HOST_GID=1000
depends_on:
- archivist-es
- archivist-redis
ports:
- 8000:8000
restart: always
volumes:
- /mnt/downloads/youtubedl:/youtube
- /docker/appdata/tubearchivist/cache:/cache
archivist-redis:
container_name: archivist-redis
hostname: archivist-redis
image: redislabs/rejson:latest
depends_on:
- archivist-es
ports:
- 6379:6379
restart: always
volumes:
- /docker/appdata/tubearchivist/redis:/data
archivist-es:
container_name: archivist-es
hostname: archivist-es
image: docker.elastic.co/elasticsearch/elasticsearch:7.15.1
environment:
- "discovery.type=single-node"
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
ports:
- 9200:9200
restart: always
volumes:
- /docker/appdata/tubearchivist/es:/usr/share/elasticsearch/data

View File

@@ -0,0 +1,20 @@
version: "2.1"
services:
ubooquity:
container_name: ubooquity
hostname: ubooquity
image: ghcr.io/linuxserver/ubooquity
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
- MAXMEM=512
ports:
- 2202:2202
- 2203:2203
restart: always
volumes:
- /docker/appdata/ubooquity/config:/config
- /mnt/mediaserver/onedrive/ebooks:/books
- /mnt/mediaserver/onedrive/comicsandmanga:/comics
- /mnt/mediaserver/onedrive:/files

View File

@@ -0,0 +1,27 @@
version: "3.3"
services:
wg-easy:
container_name: wg-easy
hostname: wg-easy
image: weejewel/wg-easy
environment:
- WG_HOST=dockerserver-03.ad.akanealw.com
- PASSWORD=foobar123
- WG_PORT=51820
- WG_DEFAULT_ADDRESS=10.0.0.x
- WG_DEFAULT_DNS=1.1.1.1
- WG_MTU=1420
- WG_ALLOWED_IPS=192.168.1.0/24
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
ports:
- "51820:51820/udp"
- "51821:51821/tcp"
restart: always
volumes:
- ./appdata/wgeasy:/etc/wireguard

View File

@@ -0,0 +1,56 @@
version: "2.1"
services:
wireguard:
container_name: wireguard
hostname: wireguard
image: lscr.io/linuxserver/wireguard
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
- SERVERURL=wg.aknlw.com #optional
- SERVERPORT=51820 #optional
- PEERS=3 #optional
- PEERDNS=auto #optional
- INTERNAL_SUBNET=10.13.13.0 #optional
- ALLOWEDIPS=0.0.0.0/0 #optional
cap_add:
- NET_ADMIN
- SYS_MODULE
ports:
- 51820:51820/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: always
volumes:
- /docker/appdata/wireguard/config:/config
- /lib/modules:/lib/modules
wireguard2:
container_name: wireguard2
hostname: wireguard2
image: lscr.io/linuxserver/wireguard
environment:
- PUID=1000
- PGID=1000
- TZ=America/Chicago
- SERVERURL=wg.aknlw.com
- SERVERPORT=51820
- PEERS=GamingPC,LaptopPC,LGV30S
- INTERNAL_SUBNET=192.168.0.0
- ALLOWEDIPS=192.168.0.0/23
cap_add:
- NET_ADMIN
- SYS_MODULE
ports:
- 51820:51820/udp
dns:
- 192.168.1.2
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: always
volumes:
- /docker/appdata/wireguard/config:/config
- /lib/modules:/lib/modules

View File

@@ -0,0 +1,11 @@
trilium:
container_name: trilium
hostname: trilium
image: zadam/trilium
environment:
- TRILIUM_DATA_DIR=/home/node/trilium-data
ports:
- "8080:8080"
restart: always
volumes:
- ./appdata/trilium:/home/node/trilium-data

View File

@@ -0,0 +1,18 @@
version: '3.3'
services:
nginxwebdav:
container_name: nginxwebdav
image: dgraziotin/nginx-webdav-nononsense
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- WEBDAV_USERNAME=akanealw
- WEBDAV_PASSWORD=REBHv599XdhU4VScXXq7
- SERVER_NAMES=localhost,192.168.1.33,webdav.akanealw.com
- TIMEOUTS_S=1200 # these are seconds
- CLIENT_MAX_BODY_SIZE=120M # must end with M(egabytes) or G(igabytes)
ports:
- 32080:80
volumes:
- ${DOCKERCONFIGS}/webdav:/data

View File

@@ -0,0 +1,5 @@
{
"db": {
"host": "xbs-mongodb"
}
}

View File

@@ -0,0 +1,32 @@
version: '3'
services:
xbs-mongodb:
container_name: xbs-mongodb
hostname: xbs-mongodb
image: mongo:4.2.0
environment:
- MONGO_INITDB_DATABASE=xbrowsersync
- MONGO_INITDB_ROOT_PASSWORD=xbsmongodb
- MONGO_INITDB_ROOT_USERNAME=xbsmongodb
restart: always
volumes:
- /docker/appdata/xbs-mongodb/data/db:/data/db
- /docker/appdata/xbs-mongodb/data/configdb:/data/configdb
- /docker/appdata/xbs-mongodb/mongoconfig.js:/docker-entrypoint-initdb.d/mongoconfig.js
xbs-api:
container_name: xbs-api
hostname: xbs-api
image: xbrowsersync/api:latest
environment:
- XBROWSERSYNC_DB_PWD=xbsmongodb
- XBROWSERSYNC_DB_USER=xbsmongodb
ports:
- 8086:8080/tcp
restart: always
depends_on:
- xbs-mongodb
volumes:
# Create setttings.json with relevant settings at host location first
- /docker/appdata/xbs-api/settings.json:/usr/src/api/config/settings.json

241
docker/media-docker-compose.yml Executable file
View File

@@ -0,0 +1,241 @@
version: '3'
services:
gluetun:
container_name: gluetun
image: qmcgaw/gluetun
environment:
- VPN_SERVICE_PROVIDER=mullvad
- VPN_TYPE=wireguard
- WIREGUARD_PRIVATE_KEY=aOlTmJ/KpTi0qZeed3rXNcRPPTIw0InAvf1gMV4EtXo=
- WIREGUARD_ADDRESSES=10.66.182.60/32
- HTTPPROXY=on
- SERVER_CITIES=New York NY
- TZ=$TZ
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
ports:
- 8888:8888/tcp # HTTP proxy
- 8388:8388/tcp # Shadowsocks
- 8388:8388/udp # Shadowsocks
- 8181:8080/tcp # SABnzbd
- 8191:8090/tcp # SABnzbd
- 8282:8282/tcp # qBittorrent
- 60395:6881/tcp # qBittorrent
- 60395:6881/udp # qBittorrent
- 58483:58483/tcp # qBittorrent
restart: always
volumes:
- ./appdata/gluetun:/gluetun
jackett:
container_name: jackett
hostname: jackett
image: binhex/arch-jackett:latest
environment:
- PGID=$PGID
- PUID=$PUID
- UMASK=$UMASK
ports:
- 9117:9117/tcp
restart: always
volumes:
- ./appdata/jackett:/config
- ./appdata/jackett/data:/data
- /mnt/data/downloads:/downloads
- /etc/localtime:/etc/localtime:ro
jdownloader2:
container_name: jdownloader2
hostname: jdownloader2
image: jlesage/jdownloader-2:latest
environment:
- PGID=$PGID
- PUID=$PUID
- UMASK=$UMASK
- TZ=$TZ
- KEEP_APP_RUNNING=1
- CLEAN_TMP_DIR=1
- MYJD_USER=akanealw@gmail.com
- MYJD_PASSWORD=trUKY4X8wzGiCr75ZmC9
- MYJD_DEVICE_NAME=dockerserver
- XDG_DOWNLOAD_DIR=/output
ports:
- 3129:3129/tcp
- 5800:5800/tcp
- 5900:5900/tcp
restart: always
volumes:
- ./appdata/jdownloader2:/config
- /mnt/data/downloads/jdownloader:/output
- /etc/localtime:/etc/localtime:ro
metube:
container_name: metube
hostname: metube
image: alexta69/metube
environment:
- STATE_DIR=/config
- PUID=$PUID
- PGID=$PGID
ports:
- 8082:8081
restart: always
volumes:
- /mnt/data/media/videos/youtubedl:/downloads
- ./appdata/metube:/config
monitorr:
container_name: monitorr
hostname: monitorr
image: monitorr/monitorr:latest
environment:
- PGID=$PGID
- PUID=$PUID
- TZ=$TZ
ports:
- 8084:80/tcp
restart: always
volumes:
- /mnt/data:/HD:ro
- ./appdata/monitorr/app:/app
- ./appdata/monitorr/config:/config
- /etc/localtime:/etc/localtime:ro
mstream:
image: lscr.io/linuxserver/mstream:latest
container_name: mstream
environment:
- PUID=$PUID
- PGID=$PGID
- TZ=$TZ
ports:
- 3001:3000
restart: always
volumes:
- ./appdata/mstream:/config
- /mnt/storage/music:/music
nzbhydra2:
container_name: nzbhydra2
hostname: nzbhydra2
image: binhex/arch-nzbhydra2:latest
environment:
- PGID=$PGID
- PUID=$PUID
- UMASK=$UMASK
ports:
- 5076:5076/tcp
restart: always
volumes:
- ./appdata/nzbhydra2/data:/data
- ./appdata/nzbhydra2:/config
- /mnt/data/downloads:/downloads
- /etc/localtime:/etc/localtime:ro
organizr:
container_name: organizr
hostname: organizr
image: organizr/organizr:latest
environment:
- PGID=$PGID
- PUID=$PUID
- FPM=false
ports:
- 8085:80/tcp
restart: always
volumes:
- ./appdata/organizr/config:/config
- /etc/localtime:/etc/localtime:ro
overseerr:
container_name: overseerr
hostname: overseerr
image: sctx/overseerr:latest
environment:
- LOG_LEVEL=info
- TZ=$TZ
ports:
- 5055:5055
restart: always
volumes:
- ./appdata/overseerr/config:/app/config
- /etc/localtime:/etc/localtime:ro
prowlarr:
container_name: prowlarr
hostname: prowlarr
image: ghcr.io/linuxserver/prowlarr:develop
environment:
- PUID=$PUID
- PGID=$PGID
- TZ=$TZ
ports:
- 9696:9696
restart: always
volumes:
- ./appdata/prowlarr/config:/config
qbittorrent:
container_name: qbittorrent
image: lscr.io/linuxserver/qbittorrent:latest
environment:
- PUID=$PUID
- PGID=$PGID
- TZ=$TZ
- WEBUI_PORT=8282
network_mode: "service:gluetun"
restart: unless-stopped
volumes:
- ./appdata/qbittorrent/config:/config
- /mnt/data:/data
- /mnt/data/downloads/torrents:/torrents
radarr:
container_name: radarr
hostname: radarr
image: lscr.io/linuxserver/radarr:latest
environment:
- PUID=$PUID
- PGID=$PGID
- TZ=$TZ
ports:
- 7878:7878
restart: always
volumes:
- ./appdata/radarr:/config
- /mnt/data:/data
sabnzbd:
container_name: sabnzbd
image: lscr.io/linuxserver/sabnzbd:latest
environment:
- PUID=$PUID
- PGID=$PGID
- TZ=$TZ
network_mode: "service:gluetun"
restart: unless-stopped
volumes:
- ./appdata/sabnzbd:/config
- /mnt/data:/data
- /mnt/data/downloads/nzbs:/nzbs
sonarr:
container_name: sonarr
hostname: sonarr
image: lscr.io/linuxserver/sonarr:latest
environment:
- PUID=$PUID
- PGID=$PGID
- TZ=$TZ
ports:
- 8989:8989
restart: always
volumes:
- ./appdata/sonarr:/config
- /mnt/data:/data
networks:
default:

11
docker/netplan-static-ip.yaml Executable file
View File

@@ -0,0 +1,11 @@
# This is the network config written by 'subiquity'
network:
version: 2
ethernets:
eth0:
dhcp4: false
addresses: [192.168.1.30/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.15,192.168.1.16]

6
docker/plex-db-sync.txt Executable file
View File

@@ -0,0 +1,6 @@
wget https://raw.githubusercontent.com/Fmstrat/plex-db-sync/master/plex-db-sync
apt-get install sshfs sqlite3
mkdir -p /mnt/sshfs
sshfs -o allow_other,IdentityFile=~/.ssh/mediapc.pds -p 22 nwettstein@192.168.1.10:"D:\Plex\Plex Media Server\Plug-in Support\Databases" /mnt/sshfs
chmod +x plex-db-sync
./plex-db-sync --backup true --plex-db-1 "/mnt/sshfs/com.plexapp.plugins.library.db" --plex-start-1 "ssh -oStrictHostKeyChecking=no -i ~/.ssh/mediapc.pds nwettstein@192.168.1.10 net start "Plex Media Server"" --plex-stop-1 "ssh -oStrictHostKeyChecking=no -i ~/.ssh/mediapc.pds nwettstein@192.168.1.10 net stop "Plex Media Server"" --plex-db-2 "/mnt/data/docker/appdata/plex/config/Library/Application Support/Plex Media Server/Plug-in Support/Databases/com.plexapp.plugins.library.db" --plex-start-2 "sudo docker start plex" --plex-stop-2 "sudo docker stop plex"

8
docker/portainer-agent.txt Executable file
View File

@@ -0,0 +1,8 @@
docker run -d \
-p 9001:9001 \
-e AGENT_SECRET=8ung1e1! \
--name portainer-agent \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
portainer/agent:2.16.2

1
docker/readme.md Executable file
View File

@@ -0,0 +1 @@
misc-docker-files

18
docker/smb.conf Executable file
View File

@@ -0,0 +1,18 @@
[akanealw]
comment = akanealw
path = /home/akanealw
available = yes
read only = yes
browsable = yes
public = yes
writeable = no
[docker]
comment = docker
path = /docker
available = yes
read only = yes
browsable = yes
public = yes
writeable = no

145
docker/traefik/docker-compose.yml Executable file
View File

@@ -0,0 +1,145 @@
version: '3'
services:
dozzle:
container_name: dozzle
hostname: dozzle
image: amir20/dozzle:latest
environment:
- DOZZLE_ADDR=:1234
labels:
- traefik.enable=true
- traefik.http.routers.dozzle.entryPoints=https
- traefik.http.services.dozzle.loadbalancer.server.port=1234
ports:
- 9999:1234
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
openvpn:
container_name: openvpn
hostname: openvpn
image: kylemanna/openvpn
cap_add:
- NET_ADMIN
ports:
- "1194:1194/tcp"
restart: always
volumes:
- ./appdata/openvpn/conf:/etc/openvpn
openssh-server:
container_name: openssh-server
hostname: openssh-server
image: lscr.io/linuxserver/openssh-server:latest
environment:
- PUID=$PUID
- PGID=$PGID
- TZ=$TZ
- PUBLIC_KEY_FILE=/config/aknlw.com.pub
- USER_NAME=akanealw
ports:
- 2222:2222
restart: always
volumes:
- ./appdata/openssh-server/config:/config
portainer:
container_name: portainer
hostname: portainer
image: portainer/portainer-ce:latest
environment:
- AGENT_SECRET=$ADMIN
labels:
- traefik.enable=true
- traefik.http.routers.portainer.entryPoints=https
- traefik.http.services.portainer.loadbalancer.server.port=9000
ports:
- 9000:9000/tcp
restart: always
volumes:
- ./appdata/portainer/data:/data
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro
portainer-agent:
container_name: portainer-agent
hostname: portainer-agent
image: portainer/agent:latest
environment:
- AGENT_SECRET=$ADMIN
ports:
- 9001:9001/tcp
restart: always
volumes:
- /var/lib/docker/volumes:/var/lib/docker/volumes
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro
privoxyvpn:
container_name: privoxyvpn
hostname: privoxyvpn
image: binhex/arch-privoxyvpn:latest
environment:
- PGID=0
- PUID=0
- UMASK=$UMASK
- TZ=$TZ
- VPN_ENABLED=yes
- VPN_PROV=airvpn
- VPN_CLIENT=wireguard
- ENABLE_SOCKS=no
- ENABLE_PRIVOXY=yes
- DEBUG=false
- LAN_NETWORK=192.168.1.0/24
- NAME_SERVERS=209.222.18.222,84.200.69.80,37.235.1.174,1.1.1.1,209.222.18.218,37.235.1.177,84.200.70.40,1.0.0.1
labels:
- traefik.enable=true
- traefik.http.routers.privoxyvpn.entryPoints=https
- traefik.http.services.privoxyvpn.loadbalancer.server.port=8118
privileged: true
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
ports:
- 8118:8118/tcp
restart: always
volumes:
- ./appdata/privoxyvpn/config:/config
- /etc/localtime:/etc/localtime:ro
redis:
container_name: redis
hostname: redis
image: "redis:alpine"
command: redis-server /redis.conf
ports:
- 6379:6379
restart: always
volumes:
- ./appdata/redis/data:/var/lib/redis
- ./appdata/redis/redis.conf:/redis.conf
traefik:
container_name: traefik
image: traefik:2.5
ports:
- 8080:80
- 8443:443
- 8081:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./appdata/traefik/:/etc/traefik/
networks:
- default
labels:
traefik.http.routers.api.rule: Host(`traefik.aknlw.com`)
traefik.http.routers.api.entryPoints: https
traefik.http.routers.api.service: api@internal
traefik.enable: true
environment:
DO_AUTH_TOKEN: dop_v1_0c437a780149010ce186a09117fa6edec29bda0afecc8831cd8c025798990891
restart: unless-stopped
networks:
default:

81
docker/traefik/fileConfig.yml Executable file
View File

@@ -0,0 +1,81 @@
http:
## EXTERNAL ROUTING EXAMPLE - Only use if you want to proxy something manually ##
routers:
# homeassistant:
# entryPoints:
# - https
# rule: 'Host(`homeassistant.domain.com`)'
# service: homeassistant
# middlewares:
# - "auth"
# ## SERVICES EXAMPLE ##
services:
# homeassistant:
# loadBalancer:
# servers:
# - url: http://192.168.60.5:8123/
# ## MIDDLEWARES ##
middlewares:
# Only Allow Local networks
# local-ipwhitelist:
# ipWhiteList:
# sourceRange:
# - 127.0.0.1/32 # localhost
# - 192.168.1.1/24 # LAN Subnet
# # Authelia guard
# authelia:
# forwardauth:
# address: http://authelia:9091/api/verify?rd=https://identity.aknlw.com/ # replace auth with your authelia container name
# trustForwardHeader: true
# authResponseHeaders:
# - Remote-User
# - Remote-Groups
# - Remote-Name
# - Remote-Email
# # Authelia basic auth guard
# authelia-basic:
# forwardauth:
# address: http://authelia:9091/api/verify?auth=basic # replace auth with your authelia container name
# trustForwardHeader: true
# authResponseHeaders:
# - Remote-User
# - Remote-Groups
# - Remote-Name
# - Remote-Email
# Security headers
securityHeaders:
headers:
customResponseHeaders:
X-Robots-Tag: "none,noarchive,nosnippet,notranslate,noimageindex"
server: ""
X-Forwarded-Proto: "https"
sslProxyHeaders:
X-Forwarded-Proto: https
referrerPolicy: "strict-origin-when-cross-origin"
hostsProxyHeaders:
- "X-Forwarded-Host"
customRequestHeaders:
X-Forwarded-Proto: "https"
contentTypeNosniff: true
browserXssFilter: true
forceSTSHeader: true
stsIncludeSubdomains: true
stsSeconds: 63072000
stsPreload: true
# Only use secure ciphers - https://ssl-config.mozilla.org/#server=traefik&version=2.6.0&config=intermediate&guideline=5.6
tls:
options:
default:
minVersion: VersionTLS12
cipherSuites:
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305

74
docker/traefik/traefik.yml Executable file
View File

@@ -0,0 +1,74 @@
global:
checkNewVersion: true
sendAnonymousUsage: false
serversTransport:
insecureSkipVerify: true
entryPoints:
# Not used in apps, but redirect everything from HTTP to HTTPS
http:
address: :80
http:
redirections:
entryPoint:
to: https
scheme: https
# HTTPS endpoint, with domain wildcard
https:
address: :443
http:
tls:
# Generate a wildcard domain certificate
certResolver: letsencrypt
domains:
- main: aknlw.com
sans:
- '*.aknlw.com'
middlewares:
- securityHeaders@file
providers:
providersThrottleDuration: 2
# File provider for connecting things that are outside of docker / defining middleware
file:
filename: /etc/traefik/fileConfig.yml
watch: true
# Docker provider for connecting all apps that are inside of the docker network
docker:
watch: true
network: docker_default # Add Your Docker Network Name Here
# Default host rule to containername.domain.example
defaultRule: "Host(`{{ index .Labels \"com.docker.compose.service\"}}.aknlw.com`)"
swarmModeRefreshSeconds: 15
exposedByDefault: false
redis:
endpoints:
- 192.168.1.30:6379
# Enable traefik ui
api:
dashboard: true
insecure: true
# Log level INFO|DEBUG|ERROR
log:
level: DEBUG
# Use letsencrypt to generate ssl serficiates
certificatesResolvers:
letsencrypt:
acme:
caServer: https://acme-staging-v02.api.letsencrypt.org/directory
email: akanealw@gmail.com
storage: /etc/traefik/acme.json
dnsChallenge:
provider: digitalocean
delayBeforeCheck: 0
# Used to make sure the dns challenge is propagated to the rights dns servers
resolvers:
- "8.8.8.8:53"
- "8.8.4.4:53"