Initial yaml configs

main
mat ess 2022-11-12 20:06:04 -05:00
commit 7a47c2137b
6 changed files with 348 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.direnv/

44
LICENSE.txt Normal file
View File

@ -0,0 +1,44 @@
STEAL THIS LICENSE
Copyright 2022 mat ess. All rights reserved.
---
This is not a valid license file, this is simply a note to thieves.
You can probably get away with stealing this work.
1. I am unlikely to find out. Who the utter fuck has time to spend all day
scanning the net to find copyright infractions. Hell, you might not even
publish it on the net in the first place. That just sounds boring as fuck.
I have better things to do like touching some fucking grass or hugging cute
people.
2. Thanks to Late Stage Capitalism™, I am unlikely to have the means for a
lengthy and drawn out court battle, you could easily win that through
attrition. I mean as I write this note Im effectively homeless and bed
surfing. Literally the last thing I care about right now is someone using
my shit.
3. You and I both know that since I wrote this, I probably do not give a
flying shit if you create derivatives from my work or not.
However, you also cant trust that any of those things are true.
I could be lying to you.
We both know its probably morally good for you to build off my work, and
redistribute it as far as it can go, humans have been doing this since
before we figured out fire. Plagiarism is a lie we tell ourselves to try to
constrain and suppress entropy. We like to pretend someone in 200 years
will give a shit about something we wrote while hyperfocusing and probably
high as shit.
But maybe if youre a fucking nazi or a piggy or a xenophobic snitch, I
actually do care and will prosecute you to the fullest extent of the law.
Maybe I change my mind one day. Or something else.
If youre reading this file, you probably want to use my shit anyway,
right? You wanna build it, you wanna package it, you wanna build off it.
So will you obey the law? Or will you do what is morally correct?

81
archivebox.yaml Normal file
View File

@ -0,0 +1,81 @@
services:
archivebox:
container_name: archivebox
image: archivebox/archivebox:dev
# command: server --quick-init 0.0.0.0:8000
# TODO: hack to workaround https://github.com/ArchiveBox/ArchiveBox/issues/1002
entrypoint: /bin/bash
command: -c "chown -R archivebox:archivebox /app/archivebox/core/migrations && /app/bin/docker_entrypoint.sh server --quick-init 0.0.0.0:8000"
environment:
- ALLOWED_HOSTS=*
- MEDIA_MAX_SIZE=750m
- RESOLUTION=1024,768
volumes:
- /media/mat/passport-5tb/archivebox:/data
labels:
- "traefik.enable=true"
- "traefik.http.routers.archive.rule=Host(`archive.mat`)"
- "traefik.http.routers.archive.entrypoints=web"
- "traefik.http.services.archive.loadbalancer.server.port=8000"
- "traefik.http.routers.archive.service=archive"
- "traefik.docker.network=traefik"
networks:
- traefik
# To run the Sonic full-text search backend, first download the config file to sonic.cfg
# curl -O https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/master/etc/sonic.cfg
# after starting, backfill any existing Snapshots into the index: docker-compose run archivebox update --index-only
# sonic:
# image: valeriansaliou/sonic:v1.3.0
# expose:
# - 1491
# environment:
# - SEARCH_BACKEND_PASSWORD=SecretPassword
# volumes:
# - ./sonic.cfg:/etc/sonic.cfg:ro
# - ./data/sonic:/var/lib/sonic/store
### Optional Addons: tweak these examples as needed for your specific use case
# Example: Run scheduled imports in a docker instead of using cron on the
# host machine, add tasks and see more info with archivebox schedule --help
# scheduler:
# image: archivebox/archivebox:latest
# command: schedule --foreground --every=day --depth=1 'https://getpocket.com/users/USERNAME/feed/all'
# environment:
# - USE_COLOR=True
# - SHOW_PROGRESS=False
# volumes:
# - ./data:/data
# Example: run all your ArchiveBox traffic through a WireGuard VPN tunnel
# wireguard:
# image: linuxserver/wireguard
# network_mode: 'service:archivebox'
# cap_add:
# - NET_ADMIN
# - SYS_MODULE
# sysctls:
# - net.ipv4.conf.all.rp_filter=2
# - net.ipv4.conf.all.src_valid_mark=1
# volumes:
# - /lib/modules:/lib/modules
# - ./wireguard.conf:/config/wg0.conf:ro
# Example: Run PYWB in parallel and auto-import WARCs from ArchiveBox
# pywb:
# image: webrecorder/pywb:latest
# entrypoint: /bin/sh 'wb-manager add default /archivebox/archive/*/warc/*.warc.gz; wayback --proxy;'
# environment:
# - INIT_COLLECTION=archivebox
# ports:
# - 8080:8080
# volumes:
# ./data:/archivebox
# ./data/wayback:/webarchive
networks:
traefik:
external: true

165
media.yaml Normal file
View File

@ -0,0 +1,165 @@
services:
deluge:
image: lscr.io/linuxserver/deluge:latest
container_name: deluge
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
- DELUGE_LOGLEVEL=error
volumes:
- deluge_config:/config
- /media/mat/torrents:/downloads
ports:
- 54979:54979
- 54979:54979/udp
labels:
- "traefik.enable=true"
- "traefik.http.routers.deluge.rule=Host(`deluge.mat`)"
- "traefik.http.routers.deluge.entrypoints=web"
- "traefik.http.services.deluge.loadbalancer.server.port=8112"
- "traefik.http.routers.deluge.service=deluge"
- "traefik.docker.network=traefik"
networks:
- traefik
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:develop
container_name: prowlarr
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
volumes:
- prowlarr_config:/config
- /media/mat/torrents:/downloads
- /media/mat/passport-5tb:/passport-5tb
- /media/mat/passport-1tb:/passport-1tb
labels:
- "traefik.enable=true"
- "traefik.http.routers.prowlarr.rule=Host(`prowlarr.mat`)"
- "traefik.http.routers.prowlarr.entrypoints=web"
- "traefik.http.services.prowlarr.loadbalancer.server.port=9696"
- "traefik.http.routers.prowlarr.service=prowlarr"
- "traefik.docker.network=traefik"
networks:
- traefik
restart: unless-stopped
bazarr:
image: lscr.io/linuxserver/bazarr:latest
container_name: bazarr
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
volumes:
- bazarr_config:/config
- /media/mat/passport-5tb:/passport-5tb
- /media/mat/passport-1tb:/passport-1tb
labels:
- "traefik.enable=true"
- "traefik.http.routers.bazarr.rule=Host(`bazarr.mat`)"
- "traefik.http.routers.bazarr.entrypoints=web"
- "traefik.http.services.bazarr.loadbalancer.server.port=6767"
- "traefik.http.routers.bazarr.service=bazarr"
- "traefik.docker.network=traefik"
networks:
- traefik
restart: unless-stopped
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
volumes:
- radarr_config:/config
- /media/mat/passport-5tb/movies:/passport-5tb
- /media/mat/passport-1tb/movies:/passport-1tb
- /media/mat/torrents:/downloads
labels:
- "traefik.enable=true"
- "traefik.http.routers.radarr.rule=Host(`radarr.mat`)"
- "traefik.http.routers.radarr.entrypoints=web"
- "traefik.http.services.radarr.loadbalancer.server.port=7878"
- "traefik.http.routers.radarr.service=radarr"
- "traefik.docker.network=traefik"
networks:
- traefik
restart: unless-stopped
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
volumes:
- sonarr_config:/config
- /media/mat/passport-5tb/tv:/passport-5tb
- /media/mat/passport-1tb/tv:/passport-1tb
- /media/mat/torrents:/downloads
labels:
- "traefik.enable=true"
- "traefik.http.routers.sonarr.rule=Host(`sonarr.mat`)"
- "traefik.http.routers.sonarr.entrypoints=web"
- "traefik.http.services.sonarr.loadbalancer.server.port=8989"
- "traefik.http.routers.sonarr.service=sonarr"
- "traefik.docker.network=traefik"
networks:
- traefik
restart: unless-stopped
plex:
container_name: plex
image: plexinc/pms-docker
restart: unless-stopped
ports:
- 56463:32400/tcp
- 3005:3005/tcp
- 8324:8324/tcp
- 32469:32469/tcp
- 1900:1900/udp
- 32410:32410/udp
- 32412:32412/udp
- 32413:32413/udp
- 32414:32414/udp
labels:
- "traefik.enable=true"
- "traefik.http.routers.plex.rule=Host(`plex.mat`)"
- "traefik.http.routers.plex.entrypoints=web"
- "traefik.http.services.plex.loadbalancer.server.port=32400"
- "traefik.http.routers.plex.service=plex"
- "traefik.docker.network=traefik"
networks:
- traefik
environment:
- TZ=${TZ}
- PLEX_CLAIM=claim-KzCjQVSGRVsoc8oYpzjh
- ADVERTISE_IP=http://143.244.47.81:56463/
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=all
devices:
- /dev/dri:/dev/dri
volumes:
- plex_config:/config
- /media/mat/torrents/plex-transcode:/transcode
- /media/mat/passport-5tb:/passport-5tb
- /media/mat/passport-1tb:/passport-1tb
volumes:
deluge_config:
prowlarr_config:
bazarr_config:
radarr_config:
sonarr_config:
plex_config:
networks:
traefik:
external: true

24
portainer.yaml Normal file
View File

@ -0,0 +1,24 @@
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
volumes:
- portainer_data:/data
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 9443:9443
labels:
- "traefik.enable=true"
- "traefik.http.routers.portainer.rule=Host(`portainer.mat`)"
- "traefik.http.routers.portainer.entrypoints=web"
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
- "traefik.http.routers.portainer.service=portainer"
- "traefik.docker.network=traefik"
networks:
- traefik
restart: always
volumes:
portainer_data:
networks:
traefik:
external: true

33
traefik.yaml Normal file
View File

@ -0,0 +1,33 @@
services:
traefik:
image: traefik:latest
container_name: traefik
command:
- --log.level=ERROR
- --api.insecure=true
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --entrypoints.web.address=:80
# - --entrypoints.websecure.address=:443
ports:
- 80:80
# - 443:443
- 8080:8080
networks:
- traefik
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
labels:
- "traefik.enable=true"
- "traefik.http.routers.traefik.rule=Host(`traefik.mat`)"
- "traefik.http.routers.traefik.entrypoints=web"
- "traefik.http.services.traefik.loadbalancer.server.port=8080"
- "traefik.http.routers.traefik.service=traefik"
- "traefik.docker.network=traefik"
# - "traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)"
# - "traefik.http.routers.http-catchall.entrypoints=web"
# - "traefik.http.routers.http-catchall.middlewares=redirect-to-https"
# - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
networks:
traefik:
external: true