mirror of
https://github.com/Viren070/docker-compose-template.git
synced 2025-12-01 23:17:00 +01:00
test
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user