diff --git a/files/docker/.smbcreds b/files/docker/.smbcreds new file mode 100644 index 0000000..e95af06 --- /dev/null +++ b/files/docker/.smbcreds @@ -0,0 +1,3 @@ +username=adminuser +password=8ung1e1! +domain=akanealw diff --git a/files/docker/.ubuntucreds b/files/docker/.ubuntucreds new file mode 100644 index 0000000..7be3b76 --- /dev/null +++ b/files/docker/.ubuntucreds @@ -0,0 +1,3 @@ +akanealw +8ung1e1! + diff --git a/files/docker/Caddyfile.txt b/files/docker/Caddyfile.txt new file mode 100644 index 0000000..ea024a2 --- /dev/null +++ b/files/docker/Caddyfile.txt @@ -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} +} diff --git a/files/docker/certbotmanual.txt b/files/docker/certbotmanual.txt new file mode 100644 index 0000000..0075d17 --- /dev/null +++ b/files/docker/certbotmanual.txt @@ -0,0 +1 @@ +certbot certonly --manual --preferred-challenges=dns -m akanealw@gmail.com --agree-tos -d akanealw.com \ No newline at end of file diff --git a/files/docker/docker_template_agent1.xml b/files/docker/docker_template_agent1.xml new file mode 100644 index 0000000..aa44947 --- /dev/null +++ b/files/docker/docker_template_agent1.xml @@ -0,0 +1,1910 @@ + + + 5.0 + 2020-07-23T07:41:34Z + + + Templates/Applications + + + + + + + + Docker: Containers + + + GRADIENT_LINE + 1A7C11 + + Template App Docker - Agent 1 + docker.containers.running + + + + 1 + BOLD_LINE + 2774A4 + + Template App Docker - Agent 1 + docker.containers.paused + + + + 2 + BOLD_LINE + F63100 + + Template App Docker - Agent 1 + docker.containers.stopped + + + + 3 + BOLD_LINE + A54F10 + + Template App Docker - Agent 1 + docker.containers.total + + + + + + Docker: Resources + + + 1A7C11 + + Template App Docker - Agent 1 + docker.goroutines + + + + 1 + F63100 + + Template App Docker - Agent 1 + docker.nfd + + + + + + Docker: Sizes + + + BOLD_LINE + 1A7C11 + + Template App Docker - Agent 1 + docker.images_size + + + + 1 + BOLD_LINE + 2774A4 + + Template App Docker - Agent 1 + docker.layers_size + + + + 2 + BOLD_LINE + F63100 + + Template App Docker - Agent 1 + docker.containers_size + + + + 3 + BOLD_LINE + A54F10 + + Template App Docker - Agent 1 + docker.volumes_size + + + + + + + + Docker flag + + + 0 + False + + + 1 + True + + + + + Service state + + + 0 + Down + + + 1 + Up + + + + + diff --git a/files/docker/fstab b/files/docker/fstab new file mode 100644 index 0000000..f5eaa4f --- /dev/null +++ b/files/docker/fstab @@ -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). +# +# +# / 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 diff --git a/files/docker/individual-docker-compose-files/airsonic-advanced-docker-compose.yml b/files/docker/individual-docker-compose-files/airsonic-advanced-docker-compose.yml new file mode 100644 index 0000000..12910d9 --- /dev/null +++ b/files/docker/individual-docker-compose-files/airsonic-advanced-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/authelia/OldConfig/authelia-configuration-backup.yml b/files/docker/individual-docker-compose-files/authelia/OldConfig/authelia-configuration-backup.yml new file mode 100644 index 0000000..5f53b94 --- /dev/null +++ b/files/docker/individual-docker-compose-files/authelia/OldConfig/authelia-configuration-backup.yml @@ -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 diff --git a/files/docker/individual-docker-compose-files/authelia/OldConfig/authelia-nginx.conf b/files/docker/individual-docker-compose-files/authelia/OldConfig/authelia-nginx.conf new file mode 100644 index 0000000..37a181f --- /dev/null +++ b/files/docker/individual-docker-compose-files/authelia/OldConfig/authelia-nginx.conf @@ -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; +} \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/authelia/OldConfig/protected-domain-nginx.conf b/files/docker/individual-docker-compose-files/authelia/OldConfig/protected-domain-nginx.conf new file mode 100644 index 0000000..9ca3a2f --- /dev/null +++ b/files/docker/individual-docker-compose-files/authelia/OldConfig/protected-domain-nginx.conf @@ -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; +} \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/bitwarden-docker-compose.yml b/files/docker/individual-docker-compose-files/bitwarden-docker-compose.yml new file mode 100644 index 0000000..7dbb122 --- /dev/null +++ b/files/docker/individual-docker-compose-files/bitwarden-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/cloudflareddns-docker-compose.yml b/files/docker/individual-docker-compose-files/cloudflareddns-docker-compose.yml new file mode 100644 index 0000000..f9355e8 --- /dev/null +++ b/files/docker/individual-docker-compose-files/cloudflareddns-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/deemix-docker-compose.yml b/files/docker/individual-docker-compose-files/deemix-docker-compose.yml new file mode 100644 index 0000000..f010597 --- /dev/null +++ b/files/docker/individual-docker-compose-files/deemix-docker-compose.yml @@ -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 diff --git a/files/docker/individual-docker-compose-files/filerun-docker-compose.yml b/files/docker/individual-docker-compose-files/filerun-docker-compose.yml new file mode 100644 index 0000000..e785289 --- /dev/null +++ b/files/docker/individual-docker-compose-files/filerun-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/freshrss-docker-compose.yml b/files/docker/individual-docker-compose-files/freshrss-docker-compose.yml new file mode 100644 index 0000000..a0214bf --- /dev/null +++ b/files/docker/individual-docker-compose-files/freshrss-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/goaccess-docker-compose.yml b/files/docker/individual-docker-compose-files/goaccess-docker-compose.yml new file mode 100644 index 0000000..fa3f06c --- /dev/null +++ b/files/docker/individual-docker-compose-files/goaccess-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/jackett-docker-compose.yml b/files/docker/individual-docker-compose-files/jackett-docker-compose.yml new file mode 100644 index 0000000..c405566 --- /dev/null +++ b/files/docker/individual-docker-compose-files/jackett-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/jdownloader2-myjd-api-docker-compose.yml b/files/docker/individual-docker-compose-files/jdownloader2-myjd-api-docker-compose.yml new file mode 100644 index 0000000..ab01759 --- /dev/null +++ b/files/docker/individual-docker-compose-files/jdownloader2-myjd-api-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/kutt/kutt-docker-compose.yml b/files/docker/individual-docker-compose-files/kutt/kutt-docker-compose.yml new file mode 100644 index 0000000..b676a89 --- /dev/null +++ b/files/docker/individual-docker-compose-files/kutt/kutt-docker-compose.yml @@ -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 diff --git a/files/docker/individual-docker-compose-files/kutt/kutt.env b/files/docker/individual-docker-compose-files/kutt/kutt.env new file mode 100644 index 0000000..9dc08b6 --- /dev/null +++ b/files/docker/individual-docker-compose-files/kutt/kutt.env @@ -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 ". 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= \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/meshcentral2/config.json b/files/docker/individual-docker-compose-files/meshcentral2/config.json new file mode 100644 index 0000000..6f6e47b --- /dev/null +++ b/files/docker/individual-docker-compose-files/meshcentral2/config.json @@ -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 + } +} \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/meshcentral2/meshcentral2-docker-compose.yml b/files/docker/individual-docker-compose-files/meshcentral2/meshcentral2-docker-compose.yml new file mode 100644 index 0000000..1a1e7b3 --- /dev/null +++ b/files/docker/individual-docker-compose-files/meshcentral2/meshcentral2-docker-compose.yml @@ -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 diff --git a/files/docker/individual-docker-compose-files/metube-docker-compose.yml b/files/docker/individual-docker-compose-files/metube-docker-compose.yml new file mode 100644 index 0000000..1684f5b --- /dev/null +++ b/files/docker/individual-docker-compose-files/metube-docker-compose.yml @@ -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 diff --git a/files/docker/individual-docker-compose-files/monitorr-docker-compose.yml b/files/docker/individual-docker-compose-files/monitorr-docker-compose.yml new file mode 100644 index 0000000..2e0d88f --- /dev/null +++ b/files/docker/individual-docker-compose-files/monitorr-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/nextcloud-docker-compose.yml b/files/docker/individual-docker-compose-files/nextcloud-docker-compose.yml new file mode 100644 index 0000000..fd58c4c --- /dev/null +++ b/files/docker/individual-docker-compose-files/nextcloud-docker-compose.yml @@ -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 diff --git a/files/docker/individual-docker-compose-files/nginx-proxy-manager-docker-compose.yml b/files/docker/individual-docker-compose-files/nginx-proxy-manager-docker-compose.yml new file mode 100644 index 0000000..66be778 --- /dev/null +++ b/files/docker/individual-docker-compose-files/nginx-proxy-manager-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/nginx-proxy-manager-mariadb-docker-compose.yml b/files/docker/individual-docker-compose-files/nginx-proxy-manager-mariadb-docker-compose.yml new file mode 100644 index 0000000..751df68 --- /dev/null +++ b/files/docker/individual-docker-compose-files/nginx-proxy-manager-mariadb-docker-compose.yml @@ -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 diff --git a/files/docker/individual-docker-compose-files/nginxwebdav-docker-compose.yml b/files/docker/individual-docker-compose-files/nginxwebdav-docker-compose.yml new file mode 100644 index 0000000..1c4008d --- /dev/null +++ b/files/docker/individual-docker-compose-files/nginxwebdav-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/notused/airsonic-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/airsonic-docker-compose.yml new file mode 100644 index 0000000..4159a77 --- /dev/null +++ b/files/docker/individual-docker-compose-files/notused/airsonic-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/notused/delugevpn/WebAPI-0.4.0-py3.8.egg b/files/docker/individual-docker-compose-files/notused/delugevpn/WebAPI-0.4.0-py3.8.egg new file mode 100644 index 0000000..e0a9f21 Binary files /dev/null and b/files/docker/individual-docker-compose-files/notused/delugevpn/WebAPI-0.4.0-py3.8.egg differ diff --git a/files/docker/individual-docker-compose-files/notused/delugevpn/delugevpn-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/delugevpn/delugevpn-docker-compose.yml new file mode 100644 index 0000000..ef4d24e --- /dev/null +++ b/files/docker/individual-docker-compose-files/notused/delugevpn/delugevpn-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/notused/docker-updater-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/docker-updater-docker-compose.yml new file mode 100644 index 0000000..f2891ce --- /dev/null +++ b/files/docker/individual-docker-compose-files/notused/docker-updater-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/notused/grafana-stack/grafana-stack-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/grafana-stack/grafana-stack-docker-compose.yml new file mode 100644 index 0000000..680a622 --- /dev/null +++ b/files/docker/individual-docker-compose-files/notused/grafana-stack/grafana-stack-docker-compose.yml @@ -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" \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/notused/guacamole-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/guacamole-docker-compose.yml new file mode 100644 index 0000000..cb21fa7 --- /dev/null +++ b/files/docker/individual-docker-compose-files/notused/guacamole-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/notused/kitana-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/kitana-docker-compose.yml new file mode 100644 index 0000000..4f403f9 --- /dev/null +++ b/files/docker/individual-docker-compose-files/notused/kitana-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/notused/ombi-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/ombi-docker-compose.yml new file mode 100644 index 0000000..9a366d4 --- /dev/null +++ b/files/docker/individual-docker-compose-files/notused/ombi-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/notused/ouroboros-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/ouroboros-docker-compose.yml new file mode 100644 index 0000000..f0ac518 --- /dev/null +++ b/files/docker/individual-docker-compose-files/notused/ouroboros-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/notused/plex-db-sync-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/plex-db-sync-docker-compose.yml new file mode 100644 index 0000000..42f7d82 --- /dev/null +++ b/files/docker/individual-docker-compose-files/notused/plex-db-sync-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/notused/rssbridge-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/rssbridge-docker-compose.yml new file mode 100644 index 0000000..ad38dc6 --- /dev/null +++ b/files/docker/individual-docker-compose-files/notused/rssbridge-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/notused/sslh-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/sslh-docker-compose.yml new file mode 100644 index 0000000..f0bfc3a --- /dev/null +++ b/files/docker/individual-docker-compose-files/notused/sslh-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/notused/tdarr-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/tdarr-docker-compose.yml new file mode 100644 index 0000000..c7d6cb1 --- /dev/null +++ b/files/docker/individual-docker-compose-files/notused/tdarr-docker-compose.yml @@ -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 + diff --git a/files/docker/individual-docker-compose-files/notused/watchtower-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/watchtower-docker-compose.yml new file mode 100644 index 0000000..9de3daf --- /dev/null +++ b/files/docker/individual-docker-compose-files/notused/watchtower-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/notused/youtubedl-material-docker-compose.yml b/files/docker/individual-docker-compose-files/notused/youtubedl-material-docker-compose.yml new file mode 100644 index 0000000..da2df96 --- /dev/null +++ b/files/docker/individual-docker-compose-files/notused/youtubedl-material-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/nzbhydra2-docker-compose.yml b/files/docker/individual-docker-compose-files/nzbhydra2-docker-compose.yml new file mode 100644 index 0000000..0b8c629 --- /dev/null +++ b/files/docker/individual-docker-compose-files/nzbhydra2-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/openvpn-docker-compose.yml b/files/docker/individual-docker-compose-files/openvpn-docker-compose.yml new file mode 100644 index 0000000..ef8e2e6 --- /dev/null +++ b/files/docker/individual-docker-compose-files/openvpn-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/organizr-docker-compose.yml b/files/docker/individual-docker-compose-files/organizr-docker-compose.yml new file mode 100644 index 0000000..3202a41 --- /dev/null +++ b/files/docker/individual-docker-compose-files/organizr-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/overseerr-docker-compose.yml b/files/docker/individual-docker-compose-files/overseerr-docker-compose.yml new file mode 100644 index 0000000..a9a5152 --- /dev/null +++ b/files/docker/individual-docker-compose-files/overseerr-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/pihole-unbound/.env b/files/docker/individual-docker-compose-files/pihole-unbound/.env new file mode 100644 index 0000000..dec5451 --- /dev/null +++ b/files/docker/individual-docker-compose-files/pihole-unbound/.env @@ -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^ \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/pihole-unbound/pihole-unbound-docker-compose.yml b/files/docker/individual-docker-compose-files/pihole-unbound/pihole-unbound-docker-compose.yml new file mode 100644 index 0000000..5813da6 --- /dev/null +++ b/files/docker/individual-docker-compose-files/pihole-unbound/pihole-unbound-docker-compose.yml @@ -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 diff --git a/files/docker/individual-docker-compose-files/plex-docker-compose.yml b/files/docker/individual-docker-compose-files/plex-docker-compose.yml new file mode 100644 index 0000000..80308dc --- /dev/null +++ b/files/docker/individual-docker-compose-files/plex-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/portainer/portainer-agent-docker-compose-with-secret.yml b/files/docker/individual-docker-compose-files/portainer/portainer-agent-docker-compose-with-secret.yml new file mode 100644 index 0000000..e5b80a4 --- /dev/null +++ b/files/docker/individual-docker-compose-files/portainer/portainer-agent-docker-compose-with-secret.yml @@ -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 diff --git a/files/docker/individual-docker-compose-files/portainer/portainer-agent-docker-compose.yml b/files/docker/individual-docker-compose-files/portainer/portainer-agent-docker-compose.yml new file mode 100644 index 0000000..5d9a668 --- /dev/null +++ b/files/docker/individual-docker-compose-files/portainer/portainer-agent-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/portainer/portainer-and-portainer-agent-docker-compose-with-secret.yml b/files/docker/individual-docker-compose-files/portainer/portainer-and-portainer-agent-docker-compose-with-secret.yml new file mode 100644 index 0000000..fb6ce5e --- /dev/null +++ b/files/docker/individual-docker-compose-files/portainer/portainer-and-portainer-agent-docker-compose-with-secret.yml @@ -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 diff --git a/files/docker/individual-docker-compose-files/portainer/portainer-and-portainer-agent-docker-compose.yml b/files/docker/individual-docker-compose-files/portainer/portainer-and-portainer-agent-docker-compose.yml new file mode 100644 index 0000000..888b936 --- /dev/null +++ b/files/docker/individual-docker-compose-files/portainer/portainer-and-portainer-agent-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/portainer/portainer-standalone-install-command.txt b/files/docker/individual-docker-compose-files/portainer/portainer-standalone-install-command.txt new file mode 100644 index 0000000..00c4f7d --- /dev/null +++ b/files/docker/individual-docker-compose-files/portainer/portainer-standalone-install-command.txt @@ -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 diff --git a/files/docker/individual-docker-compose-files/privoxyvpn-docker-compose.yml b/files/docker/individual-docker-compose-files/privoxyvpn-docker-compose.yml new file mode 100644 index 0000000..d4e31b6 --- /dev/null +++ b/files/docker/individual-docker-compose-files/privoxyvpn-docker-compose.yml @@ -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 diff --git a/files/docker/individual-docker-compose-files/prowlarr-docker-compose.yml b/files/docker/individual-docker-compose-files/prowlarr-docker-compose.yml new file mode 100644 index 0000000..8f9ef8a --- /dev/null +++ b/files/docker/individual-docker-compose-files/prowlarr-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/qbittorrentvpn-docker-compose.yml b/files/docker/individual-docker-compose-files/qbittorrentvpn-docker-compose.yml new file mode 100644 index 0000000..766922e --- /dev/null +++ b/files/docker/individual-docker-compose-files/qbittorrentvpn-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/sabnzbdvpn-docker-compose.yml b/files/docker/individual-docker-compose-files/sabnzbdvpn-docker-compose.yml new file mode 100644 index 0000000..a744eaa --- /dev/null +++ b/files/docker/individual-docker-compose-files/sabnzbdvpn-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/sshserver-docker-compose.yml b/files/docker/individual-docker-compose-files/sshserver-docker-compose.yml new file mode 100644 index 0000000..89f7dc0 --- /dev/null +++ b/files/docker/individual-docker-compose-files/sshserver-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/syncthing/URLs.txt b/files/docker/individual-docker-compose-files/syncthing/URLs.txt new file mode 100644 index 0000000..71b6e1b --- /dev/null +++ b/files/docker/individual-docker-compose-files/syncthing/URLs.txt @@ -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 diff --git a/files/docker/individual-docker-compose-files/syncthing/syncthing-relay-discovery-docker-compose.yml b/files/docker/individual-docker-compose-files/syncthing/syncthing-relay-discovery-docker-compose.yml new file mode 100644 index 0000000..4fe6d51 --- /dev/null +++ b/files/docker/individual-docker-compose-files/syncthing/syncthing-relay-discovery-docker-compose.yml @@ -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 + \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/tautulli-docker-compose.yml b/files/docker/individual-docker-compose-files/tautulli-docker-compose.yml new file mode 100644 index 0000000..77f0f47 --- /dev/null +++ b/files/docker/individual-docker-compose-files/tautulli-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/testing/debian-docker-run.txt b/files/docker/individual-docker-compose-files/testing/debian-docker-run.txt new file mode 100644 index 0000000..2849f0f --- /dev/null +++ b/files/docker/individual-docker-compose-files/testing/debian-docker-run.txt @@ -0,0 +1 @@ +docker run --name minideb --h minideb bitnami/minideb:latest exec -t /bin/bash \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/testing/debian-slim-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/debian-slim-docker-compose.yml new file mode 100644 index 0000000..77eea63 --- /dev/null +++ b/files/docker/individual-docker-compose-files/testing/debian-slim-docker-compose.yml @@ -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:/ diff --git a/files/docker/individual-docker-compose-files/testing/jellyfin-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/jellyfin-docker-compose.yml new file mode 100644 index 0000000..64a4299 --- /dev/null +++ b/files/docker/individual-docker-compose-files/testing/jellyfin-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/testing/petio-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/petio-docker-compose.yml new file mode 100644 index 0000000..f1d78e3 --- /dev/null +++ b/files/docker/individual-docker-compose-files/testing/petio-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/testing/pihole-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/pihole-docker-compose.yml new file mode 100644 index 0000000..ebce894 --- /dev/null +++ b/files/docker/individual-docker-compose-files/testing/pihole-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/testing/seafile-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/seafile-docker-compose.yml new file mode 100644 index 0000000..36a65da --- /dev/null +++ b/files/docker/individual-docker-compose-files/testing/seafile-docker-compose.yml @@ -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 diff --git a/files/docker/individual-docker-compose-files/testing/tubearchivist-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/tubearchivist-docker-compose.yml new file mode 100644 index 0000000..b1cc6b7 --- /dev/null +++ b/files/docker/individual-docker-compose-files/testing/tubearchivist-docker-compose.yml @@ -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 diff --git a/files/docker/individual-docker-compose-files/testing/ubooquity-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/ubooquity-docker-compose.yml new file mode 100644 index 0000000..6114fd6 --- /dev/null +++ b/files/docker/individual-docker-compose-files/testing/ubooquity-docker-compose.yml @@ -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 diff --git a/files/docker/individual-docker-compose-files/testing/wg-easy-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/wg-easy-docker-compose.yml new file mode 100644 index 0000000..ba25db5 --- /dev/null +++ b/files/docker/individual-docker-compose-files/testing/wg-easy-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/testing/wireguard-server-docker-compose.yml b/files/docker/individual-docker-compose-files/testing/wireguard-server-docker-compose.yml new file mode 100644 index 0000000..ae9c775 --- /dev/null +++ b/files/docker/individual-docker-compose-files/testing/wireguard-server-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/trilium-docker-compose.yml b/files/docker/individual-docker-compose-files/trilium-docker-compose.yml new file mode 100644 index 0000000..d3befb0 --- /dev/null +++ b/files/docker/individual-docker-compose-files/trilium-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/individual-docker-compose-files/webdav-nginx-compose.yml b/files/docker/individual-docker-compose-files/webdav-nginx-compose.yml new file mode 100644 index 0000000..33efeaf --- /dev/null +++ b/files/docker/individual-docker-compose-files/webdav-nginx-compose.yml @@ -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 diff --git a/files/docker/individual-docker-compose-files/xbrowsersync/settings.json b/files/docker/individual-docker-compose-files/xbrowsersync/settings.json new file mode 100644 index 0000000..c7dad41 --- /dev/null +++ b/files/docker/individual-docker-compose-files/xbrowsersync/settings.json @@ -0,0 +1,5 @@ +{ + "db": { + "host": "xbs-mongodb" + } +} diff --git a/files/docker/individual-docker-compose-files/xbrowsersync/xbrowsersync-docker-compose.yml b/files/docker/individual-docker-compose-files/xbrowsersync/xbrowsersync-docker-compose.yml new file mode 100644 index 0000000..8d89470 --- /dev/null +++ b/files/docker/individual-docker-compose-files/xbrowsersync/xbrowsersync-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/files/docker/media-docker-compose.yml b/files/docker/media-docker-compose.yml new file mode 100644 index 0000000..65fa78c --- /dev/null +++ b/files/docker/media-docker-compose.yml @@ -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: \ No newline at end of file diff --git a/files/docker/netplan-static-ip.yaml b/files/docker/netplan-static-ip.yaml new file mode 100644 index 0000000..4606096 --- /dev/null +++ b/files/docker/netplan-static-ip.yaml @@ -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] + diff --git a/files/docker/plex-db-sync.txt b/files/docker/plex-db-sync.txt new file mode 100644 index 0000000..2c40665 --- /dev/null +++ b/files/docker/plex-db-sync.txt @@ -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" diff --git a/files/docker/portainer-agent.txt b/files/docker/portainer-agent.txt new file mode 100644 index 0000000..8400e3e --- /dev/null +++ b/files/docker/portainer-agent.txt @@ -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 diff --git a/files/docker/readme.md b/files/docker/readme.md new file mode 100644 index 0000000..116b838 --- /dev/null +++ b/files/docker/readme.md @@ -0,0 +1 @@ +misc-docker-files \ No newline at end of file diff --git a/files/docker/smb.conf b/files/docker/smb.conf new file mode 100644 index 0000000..c7fdcdd --- /dev/null +++ b/files/docker/smb.conf @@ -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 diff --git a/files/docker/traefik/docker-compose.yml b/files/docker/traefik/docker-compose.yml new file mode 100644 index 0000000..7c1f95b --- /dev/null +++ b/files/docker/traefik/docker-compose.yml @@ -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: \ No newline at end of file diff --git a/files/docker/traefik/fileConfig.yml b/files/docker/traefik/fileConfig.yml new file mode 100644 index 0000000..3576def --- /dev/null +++ b/files/docker/traefik/fileConfig.yml @@ -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 diff --git a/files/docker/traefik/traefik.yml b/files/docker/traefik/traefik.yml new file mode 100644 index 0000000..097aa1a --- /dev/null +++ b/files/docker/traefik/traefik.yml @@ -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"