transfer.sh/docker-compose.yaml

61 lines
2.1 KiB
YAML

services:
traefik:
image: traefik:v2.10
restart: always
networks:
- transfer_sh_default
command:
- --api.insecure=false
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --entrypoints.web.address=:80
- --entrypoints.web.http.redirections.entryPoint.to=https
- --entrypoints.web.http.redirections.entryPoint.scheme=https
- --entrypoints.https.address=:443
- --certificatesresolvers.le_transfer_sh.acme.dnschallenge=true
- --certificatesresolvers.le_transfer_sh.acme.dnschallenge.provider=rfc2136
- --certificatesresolvers.le_transfer_sh.acme.dnschallenge.resolvers=8.8.8.8,8.8.4.4
- --certificatesresolvers.le_transfer_sh.acme.email=transfer.sh@moeny.ai
- --certificatesresolvers.le_transfer_sh.acme.storage=/letsencrypt/acme.json
- --log.level=DEBUG
environment:
- RFC2136_TSIG_KEY=${TSIG_KEY}
- RFC2136_TSIG_SECRET=${TSIG_SECRET}
- RFC2136_NAMESERVER=${DNS_SERVER}
- RFC2136_ZONE=${DNS_ZONE}
- RFC2136_TSIG_ALGORITHM=hmac-sha256
- RFC2136_DEBUG=true
- RFC2136_TIMEOUT=60
ports:
- "8090:80"
- "8490:443"
volumes:
- traefik_moeny_transfer_sh:/letsencrypt:rw
- /var/run/docker.sock:/var/run/docker.sock:ro
transfer:
image: dutchcoders/transfer.sh:latest
restart: always
networks:
- transfer_sh_default
volumes:
- /mnt/nfs/moeny-transfer:/txdata
labels:
- "traefik.enable=true"
- "traefik.http.routers.transfer_sh.rule=Host(`tx.moeny.ai`)"
- "traefik.http.routers.transfer_sh.entrypoints=https"
- "traefik.http.routers.transfer_sh.tls.certresolver=le_transfer_sh"
- "traefik.http.services.transfer_sh.loadbalancer.server.port=8080"
command:
- --provider=local
- --basedir=/txdata
- --random-token-length=10
- --http-auth-user=${TRANSFER_USER}
- --http-auth-pass=${TRANSFER_PASS}
volumes:
traefik_moeny_transfer_sh: { driver: local }
networks:
transfer_sh_default:
name: transfer_sh_default