From 2b628c42a1f942c8fcf0cd2ba14e9ccd2b1351f1 Mon Sep 17 00:00:00 2001 From: Viren070 Date: Sun, 16 Feb 2025 16:52:10 +0000 Subject: [PATCH] test --- auto/compose.aiostreams.yaml | 39 ++++++++++++++++++++++++++++++++++++ auto/compose.traefik.yaml | 37 ++++++++++++++++++++++++++++++++++ auto/compose.warp.yaml | 30 +++++++++++++++++++++++++++ auto/compose.watchtower.yaml | 32 +++++++++++++++++++++++++++++ 4 files changed, 138 insertions(+) create mode 100644 auto/compose.aiostreams.yaml create mode 100644 auto/compose.traefik.yaml create mode 100644 auto/compose.warp.yaml create mode 100644 auto/compose.watchtower.yaml diff --git a/auto/compose.aiostreams.yaml b/auto/compose.aiostreams.yaml new file mode 100644 index 0000000..9b3bb97 --- /dev/null +++ b/auto/compose.aiostreams.yaml @@ -0,0 +1,39 @@ +services: + aiostreams: + image: viren070/aiostreams:latest + container_name: aiostreams + restart: unless-stopped + expose: + - 3000 + environment: + - ADDON_PROXY=${ENABLE_PROXY:-false} == "true" && echo ${PROXY_URL} || echo '' + - ADDON_PROXY_CONFIG=*:false,*.strem.fun:true # only route requests to any strem.fun subdomain through the proxy + - EASYNEWS_PLUS_URL=${ENABLE_EASYNEWS_PLUS:-false} == "true" && echo "http://easynews-plus:1337/" || echo "" + - MEDIAFUSION_URL=${ENABLE_MEDIAFUSION:-false} == "true" && echo "http://mediafusion:8000/" || echo "" + - MEDIAFUSION_API_PASSWORD=${ENABLE_MEDIAFUSION:-false} == "true" && echo ${MEDIAFUSION_API_PASSWORD} || echo "" + - MEDIAFUSION_CONFIG_TIMEOUT=3000 + - COMET_URL=${ENABLE_COMET:-false} == "true" && echo "http://comet:2020/" || echo "" + - FORCE_COMET_HOSTNAME=${ENABLE_COMET:-false} == "true" && echo ${COMET_HOSTNAME} || echo "" + - COMET_INDEXERS=${COMET_INDEXERS:+${COMET_INDEXERS}} + - JACKETTIO_URL=${ENABLE_JACKETTIO:-false} == "true" && echo "http://jackettio:4000/" || echo "" + - STREMIO_JACKETT_URL=${ENABLE_JACKETTIO:-false} == "true" && echo "http://stremio-jackett:3000/" || echo "" + - JACKETT_URL=${ENABLE_JACKETT:-false} == "true" && echo "http://jackett:9117/" || echo "" + - JACKETT_API_KEY=${ENABLE_JACKETT:-false} == "true" && echo ${JACKETT_API_KEY} || echo "" + - JACKETT_INDEXERS=${ENABLE_JACKETT:-false} == "true" && echo ${JACKETT_INDEXERS} || echo "" + - SECRET_KEY=${AIOSTREAMS_SECRET_KEY} # openssl rand -hex 16 + - DEFAULT_TIMEOUT=5000 + - TMDB_API_KEY=${TMDB_API_KEY} + labels: + - "traefik.enable=true" + - "traefik.http.routers.aio.rule=Host(`${AIOSTREAMS_HOSTNAME}`)" + - "traefik.http.routers.aio.entrypoints=websecure" + - "traefik.http.routers.aio.tls.certresolver=myresolver" + - "flame.type=app" + - "flame.name=AIOStreams" + - "flame.url=https://${AIOSTREAMS_HOSTNAME}" + networks: + - addon_network + +networks: + addon_network: + external: true \ No newline at end of file diff --git a/auto/compose.traefik.yaml b/auto/compose.traefik.yaml new file mode 100644 index 0000000..8a3bf74 --- /dev/null +++ b/auto/compose.traefik.yaml @@ -0,0 +1,37 @@ +services: + traefik: + image: traefik:v3 + container_name: traefik + restart: unless-stopped + ports: + - 443:443 + # - 80:80 # adguard + - 127.0.0.1:8080:8080 + # - 853:853/tcp # adguard + command: + - "--api.insecure=true" + - "--providers.docker=true" + - "--providers.docker.exposedbydefault=false" + # - "--entryPoints.web.address=:80" # adguard + - "--entryPoints.websecure.address=:443" + # - "--entryPoints.dot.address=:853" # adguard + - "--certificatesresolvers.myresolver.acme.tlschallenge=true" + - "--certificatesresolvers.myresolver.acme.email=${LETSENCRYPT_EMAIL}" + - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json" + - "--log.level=INFO" + - "--ping" + volumes: + - "/var/run/docker.sock:/var/run/docker.sock" + - "./data/letsencrypt:/letsencrypt" + healthcheck: + test: ["CMD", "traefik", "healthcheck", "--ping"] + interval: 10s + timeout: 5s + retries: 3 + networks: + - addon_network + +networks: + addon_network: + external: true + diff --git a/auto/compose.warp.yaml b/auto/compose.warp.yaml new file mode 100644 index 0000000..89b76b3 --- /dev/null +++ b/auto/compose.warp.yaml @@ -0,0 +1,30 @@ +services: + warp: + image: caomingjun/warp + container_name: warp + restart: unless-stopped + device_cgroup_rules: + - 'c 10:200 rwm' + expose: + - 1080 + environment: + - WARP_SLEEP=5 + cap_add: + - NET_ADMIN + sysctls: + - net.ipv6.conf.all.disable_ipv6=0 + - net.ipv4.conf.all.src_valid_mark=1 + volumes: + - ./data/warp:/var/lib/cloudflare-warp + healthcheck: + test: curl -x "socks5h://127.0.0.1:1080" -fsSL "https://www.cloudflare.com/cdn-cgi/trace" | grep -qE "warp=(plus|on)" || exit 1 + interval: 15s + timeout: 5s + retries: 3 + start_period: 5s + networks: + - addon_network + +networks: + addon_network: + external: true \ No newline at end of file diff --git a/auto/compose.watchtower.yaml b/auto/compose.watchtower.yaml new file mode 100644 index 0000000..b07f749 --- /dev/null +++ b/auto/compose.watchtower.yaml @@ -0,0 +1,32 @@ +services: + watchtower: + image: containrrr/watchtower + container_name: watchtower + restart: unless-stopped + environment: + TZ: ${TZ:-UTC} + WATCHTOWER_CLEANUP: "true" + WATCHTOWER_SCHEDULE: ${AUTO_UPDATE_SCHEDULE:-0 0 6 * * *} # Run at 6am daily + WATCHTOWER_NOTIFICATION_URL: ${AUTO_UPDATE_NOTIFICATION_URL:-} + WATCHTOWER_NOTIFICATION_REPORT: "true" + WATCHTOWER_NOTIFICATION_TEMPLATE: | + {{- if .Report -}} + {{- with .Report -}} + {{- if ( or .Updated .Failed ) -}} + {{len .Scanned}} Scanned, {{len .Updated}} Updated, {{len .Failed}} Failed + {{- range .Updated}} + - {{.Name}} ({{.ImageName}}): {{.CurrentImageID.ShortID}} updated to {{.LatestImageID.ShortID}} + {{- end -}} + {{- range .Skipped}} + - {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}} + {{- end -}} + {{- range .Failed}} + - {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- else -}} + {{range .Entries -}}{{.Message}}{{"\n"}}{{- end -}} + {{- end -}} + volumes: + - /var/run/docker.sock:/var/run/docker.sock \ No newline at end of file