Guest User

docker-compose

a guest
Sep 29th, 2021
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.78 KB | None | 0 0
  1. version: "3.7"
  2.  
  3. ################# NETWORKS
  4. networks:
  5. t2_proxy:
  6. external:
  7. name: t2_proxy
  8. default:
  9. driver: bridge
  10.  
  11. ################# SERVICES
  12. services:
  13. # All services / apps go below this line
  14.  
  15. # Traefik 2 - Reverse Proxy
  16. traefik:
  17. container_name: traefik
  18. image: traefik:latest # the chevrotin tag refers to v2.2.x
  19. restart: unless-stopped
  20. command: # CLI arguments
  21. - --global.checkNewVersion=true
  22. - --global.sendAnonymousUsage=true
  23. - --entryPoints.http.address=:80
  24. - --entryPoints.https.address=:443
  25. - --entryPoints.traefik.address=:8080
  26. - --api=true
  27. - --log=true
  28. - --log.level=DEBUG # (Default: error) DEBUG, INFO, WARN, ERROR, FATAL, PANIC
  29. - --accessLog=true
  30. - --accessLog.filePath=/traefik.log
  31. - --accessLog.bufferingSize=100 # Configuring a buffer of 100 lines
  32. - --accessLog.filters.statusCodes=400-499
  33. - --providers.docker=true
  34. - --providers.docker.endpoint=unix:///var/run/docker.sock
  35. - --providers.docker.defaultrule=Host(`{{ index .Labels "com.docker.compose.service" }}.$DOMAINNAME`)
  36. - --providers.docker.exposedByDefault=false
  37. - --providers.docker.network=t2_proxy
  38. - --providers.docker.swarmMode=false
  39. - --providers.file.directory=/rules # Load dynamic configuration from one or more .toml or .yml files in a directory.
  40. - --providers.file.watch=true # Only works on top level files in the rules folder
  41. - --certificatesResolvers.dns-godaddy.acme.dnsChallenge=true
  42. - --certificatesResolvers.dns-godaddy.acme.email=michael.wilcoxkelly@outlook.com
  43. - --certificatesResolvers.dns-godaddy.acme.storage=/acme.json
  44. - --certificatesResolvers.dns-godaddy.acme.dnsChallenge.provider=godaddy
  45. networks:
  46. - t2_proxy
  47. security_opt:
  48. - no-new-privileges:true
  49. ports:
  50. - target: 80
  51. published: 80
  52. protocol: tcp
  53. mode: host
  54. - target: 443
  55. published: 443
  56. protocol: tcp
  57. mode: host
  58. - target: 8080
  59. published: 8080
  60. protocol: tcp
  61. mode: host
  62. volumes:
  63. - ${DOCKERDIR}/production/traefik2/rules:/rules
  64. - /var/run/docker.sock:/var/run/docker.sock:ro
  65. - ${DOCKERDIR}/production/traefik2/acme/acme.json:/acme.json
  66. - ${DOCKERDIR}/production/traefik2/traefik.log:/traefik.log
  67. - ${DOCKERDIR}/shared:/shared
  68. environment:
  69. - GODADDY_API_KEY=$GODADDY_API_KEY
  70. - GODADDY_API_SECRET=$GODADDY_API_SECRET
  71. labels:
  72. - "traefik.enable=true"
  73. # HTTP-to-HTTPS Redirect
  74. - "traefik.http.routers.http-catchall.entrypoints=http"
  75. - "traefik.http.routers.http-catchall.rule=HostRegexp(`{host:.+}`)"
  76. - "traefik.http.routers.http-catchall.middlewares=redirect-to-https"
  77. - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
  78. # HTTP Routers
  79. - "traefik.http.routers.traefik-rtr.entrypoints=https"
  80. - "traefik.http.routers.traefik-rtr.rule=Host(`traefik.$DOMAINNAME`)"
  81. - "traefik.http.routers.traefik-rtr.tls=true"
  82. - "traefik.http.routers.traefik-rtr.tls.certresolver=dns-godaddy" # Comment out this line after first run of traefik to force the use of wildcard certs
  83. - "traefik.http.routers.traefik-rtr.tls.domains[0].main=*.$DOMAINNAME"
  84. - "traefik.http.routers.traefik-rtr.tls.domains[0].sans=$DOMAINNAME"
  85. ## Services - API
  86. - "traefik.http.routers.traefik-rtr.service=api@internal"
  87. ## Middlewares
  88. - "traefik.http.routers.traefik-rtr.middlewares=chain-basic-auth@file"
  89.  
  90.  
  91.  
  92. prowlarr:
  93. container_name: prowlarr
  94. image: linuxserver/prowlarr:develop
  95. restart: unless-stopped
  96. network_mode: service:nordvpn
  97. depends_on:
  98. - nordvpn
  99. # networks:
  100. # - t2_proxy
  101. security_opt:
  102. - no-new-privileges:true
  103. environment:
  104. - PUID=$PUID
  105. - PGID=$PGID
  106. - TZ=$TZ
  107. volumes:
  108. - ${DOCKERDIR}/production/prowlarr:/config
  109. # ports:
  110. # - 9696:9696
  111. labels:
  112. - "traefik.enable=true"
  113. ## HTTP Routers
  114. - "traefik.http.routers.prowlarr-rtr.entrypoints=https"
  115. - "traefik.http.routers.prowlarr-rtr.rule=Host(`prowlarr.$DOMAINNAME`)"
  116. - "traefik.http.routers.prowlarr-rtr.tls=true"
  117. ## Middlewares
  118. - "traefik.http.routers.prowlarr-rtr.middlewares=chain-no-auth@file"
  119. ## HTTP Services
  120. - "traefik.http.routers.prowlarr-rtr.service=prowlarr-svc"
  121. - "traefik.http.services.prowlarr-svc.loadbalancer.server.port=9696"
  122.  
  123.  
  124. nordvpn:
  125. image: bubuntux/nordvpn:latest
  126. container_name: nordvpn
  127. restart: unless-stopped
  128. # network_mode: bridge
  129. networks:
  130. - t2_proxy
  131. cap_add:
  132. - NET_ADMIN
  133. devices:
  134. - /dev/net/tun
  135. ulimits:
  136. memlock:
  137. soft: -1
  138. hard: -1
  139. environment:
  140. - USER=${NORDVPN_USER}
  141. - PASS=${NORDVPN_PASS}
  142. - CONNECT=United_States
  143. - PROTOCOL=UDP
  144. - CATEGORY=P2P
  145. - NETWORK=192.168.1.0/24
  146. - OPENVPN_OPTS=--pull-filter ignore "ping-restart" --ping-exit 180
  147. - PUID=${PUID}
  148. - PGID=${PGID}
  149. - TZ=${TZ}
  150. ports:
  151. # qbittorrent
  152. - 8090:8090
  153. - 6881:6881
  154. - 6881:6881/udp
  155. # radarr-1080p
  156. # - 7878:7878
  157. # radarr-4K
  158. # - 7879:7879
  159. # radarr-3D
  160. # - 7880:7880
  161. # jackett
  162. - 9117:9117
  163. # sonarr
  164. # - 8989:8989
  165. # nzbhydra2
  166. # - 5076:5076
  167. # qbit-seeds
  168. - 8085:8085
  169. - 6882:6882
  170. - 6882:6882/udp
  171. # prowlarr
  172. - 9696:9696
  173.  
  174.  
  175. radarr_v3-1080p:
  176. container_name: radarr_v3-1080p
  177. image: linuxserver/radarr:latest
  178. restart: unless-stopped
  179. # command: -H unix:///var/run/docker.sock
  180. networks:
  181. - t2_proxy
  182. security_opt:
  183. - no-new-privileges:true
  184. # ports:
  185. # - "7878:7878"
  186. volumes:
  187. - /var/run/docker.sock:/var/run/docker.sock:ro
  188. - /etc/localtime:/etc/localtime:ro
  189. - ${DOCKERDIR}/production/radarr_v3-1080p:/config
  190. - /media/nacho-media:/nacho-media
  191. - ${DOCKERDIR}/shared:/shared
  192. environment:
  193. - PUID=$PUID
  194. - PGID=$PGID
  195. - TZ=$TZ
  196. labels:
  197. - "traefik.enable=true"
  198. - "traefik.docker.network=traefik"
  199. - "traefik.http.routers.radarr_v3-1080p-rtr.entrypoints=https"
  200. - "traefik.http.routers.radarr_v3-1080p-rtr.rule=Host(`radarr_v3-1080p.$DOMAINNAME`)"
  201. - "traefik.http.routers.radarr_v3-1080p-rtr.tls=true"
  202. ## middlewares
  203. - "traefik.http.routers.radarr_v3-1080p-rtr.middlewares=chain-no-auth@file"
  204. ## HTTP Services
  205. - "traefik.http.routers.radarr_v3-1080p-rtr.service=radarr_v3-1080p-svc"
  206. - "traefik.http.services.radarr_v3-1080p-svc.loadbalancer.server.port=7878"
  207.  
Add Comment
Please, Sign In to add comment