Advertisement
Guest User

dockerr-compose

a guest
Dec 27th, 2019
1,867
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.59 KB | None | 0 0
  1. version: "3.7"
  2.  
  3. networks:
  4. traefik_proxy:
  5. external:
  6. name: traefik_proxy
  7. internal:
  8. external: false
  9. default:
  10. driver: bridge
  11.  
  12. services:
  13. traefik:
  14. hostname: traefik
  15. image: traefik:v1.7
  16. container_name: traefik
  17. restart: always
  18. domainname: ${DOMAINNAME}
  19. networks:
  20. - default
  21. - traefik_proxy
  22. ports:
  23. - "80:80"
  24. - "443:443"
  25. # - "XXXX:8080"
  26. environment:
  27. - DO_AUTH_TOKEN=${DO_AUTH_TOKEN}
  28. labels:
  29. - "traefik.enable=true"
  30. - "traefik.backend=traefik"
  31. - "traefik.frontend.rule=Host:traefik.${DOMAINNAME}"
  32. # - "traefik.frontend.rule=Host:${DOMAINNAME}; PathPrefixStrip: /traefik"
  33. - "traefik.port=8080"
  34. - "traefik.docker.network=traefik_proxy"
  35. - "traefik.frontend.headers.SSLRedirect=true"
  36. - "traefik.frontend.headers.STSSeconds=315360000"
  37. - "traefik.frontend.headers.browserXSSFilter=true"
  38. - "traefik.frontend.headers.contentTypeNosniff=true"
  39. - "traefik.frontend.headers.forceSTSHeader=true"
  40. - "traefik.frontend.headers.SSLHost=example.com"
  41. - "traefik.frontend.headers.STSIncludeSubdomains=true"
  42. - "traefik.frontend.headers.STSPreload=true"
  43. - "traefik.frontend.headers.frameDeny=true"
  44. - "traefik.frontend.auth.basic.users=${HTTP_USERNAME}:${HTTP_PASSWORD}"
  45. volumes:
  46. - /var/run/docker.sock:/var/run/docker.sock:ro
  47. - ${USERDIR}/docker/traefik:/etc/traefik
  48. - ${USERDIR}/docker/shared:/shared
  49.  
  50. portainer:
  51. container_name: portainer
  52. image: portainer/portainer
  53. # command: -H unix:///var/run/docker.dock
  54. volumes:
  55. - ${PWD}/data:/data
  56. - /var/run/docker.sock:/var/run/docker.sock
  57. labels:
  58. - "traefik.enable=true"
  59. - "traefik.frontend.rule=Host:portainer.${DOMAINNAME}"
  60. - "traefik.port=9000"
  61.  
  62. wallabag:
  63. container_name: wallabag
  64. image: wallabag/wallabag
  65. volumes:
  66. - ${PWD}/wallabag/data:/var/www/wallabag/data
  67. - ${PWD}/wallabag/images:/var/www/wallabag/web/assets/images
  68. environment:
  69. - SYMFONY__ENV__FOSUSER_REGISTRATION=false
  70. - SYMFONY__ENV__DOMAIN_NAME=https://wallabag.${DOMAINNAME}
  71. - SYMFONY__ENV__FOSUSER_CONFIRMATION=false
  72. - MYSQL_ROOT_PASSWORD=mywallabagpassword
  73. - SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
  74. - SYMFONY__ENV__DATABASE_HOST=db
  75. - SYMFONY__ENV__DATABASE_PORT=3306
  76. - SYMFONY__ENV__DATABASE_NAME=wallabag
  77. - SYMFONY__ENV__DATABASE_USER=wallabag
  78. - SYMFONY__ENV__DATABASE_PASSWORD=mywallabagpassword
  79. - SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
  80. - SYMFONY__ENV__MAILER_HOST=127.0.0.1
  81. - SYMFONY__ENV__MAILER_USER=
  82. - SYMFONY__ENV__MAILER_PASSWORD=
  83. - SYMFONY__ENV__FROM_EMAIL=wallabag@example.com
  84. labels:
  85. - "traefik.enable=true"
  86. - "traefik.frontend.rule=Host:wallabag.${DOMAINNAME}"
  87. ports:
  88. - "80"
  89.  
  90. db:
  91. image: mariadb
  92. environment:
  93. - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
  94. volumes:
  95. - /opt/wallabag/data:/var/lib/mysql
  96. redis:
  97. image: redis:alpine
  98.  
  99. ####################################################################################
  100. ## ttrss stuff ###
  101. ####################################################################################
  102.  
  103. ttrss_db:
  104. image: postgres:12-alpine
  105. restart: unless-stopped
  106. volumes:
  107. - ./ttrss-docker/db:/var/lib/postgresql/data
  108. environment:
  109. - POSTGRES_PASSWORD=${MYSQL_ROOT_PASSWORD}
  110. - POSTGRES_USER=${MYSQL_USER}
  111.  
  112. ttrss_app:
  113. build:
  114. context:
  115. ./ttrss-docker/app
  116. args:
  117. - OWNER_UID=${PUID}
  118. - OWNER_GID=${PGID}
  119. restart: unless-stopped
  120. environment:
  121. - DB_TYPE=pgsql
  122. - DB_HOST=ttrss_db
  123. - DB_NAME=${MYSQL_USER}
  124. - DB_USER=${MYSQL_USER}
  125. - DB_PASS=${MYSQL_ROOT_PASSWORD}
  126. - OWNER_UID=${PUID}
  127. - OWNER_GID=${PGID}
  128. - SELF_URL_PATH=${DOMAINNAME}:9002
  129. volumes:
  130. - ./ttrss-docker/app:/var/www/html
  131. depends_on:
  132. - ttrss_db
  133. labels:
  134. - "traefik.docker.network=traefik_proxy"
  135. - "traefik.enable=true"
  136. - "traefik.backend=ttrss"
  137. - "traefik.frontend.rule=Host:ttrss.${DOMAINNAME}"
  138. # - "traefik.frontend.auth.forward.address=https://login.${DOMAINNAME}/api/verify?rd=https://login.${DOMAINNAME}/%23/"
  139. - "traefik.frontend.headers.customRequestHeaders=X-ORIGINAL-URL:https://ttrss.${DOMAINNAME}"
  140. - "traefik.frontend.auth.forward.tls.insecureSkipVerify=true"
  141. - "traefik.http.port=80"
  142. - "traefik.port=9002"
  143.  
  144. ttrss_web:
  145. build: ./ttrss-docker/web
  146. restart: unless-stopped
  147. ports:
  148. - ${HTTP_PORT}:2015
  149. volumes:
  150. - ./ttrss-docker/app:/var/www/html:ro
  151. depends_on:
  152. - ttrss_app
  153.  
  154. # web-ssl:
  155. # build: ./web-ssl
  156. # restart: unless-stopped
  157. # environment:
  158. # - CADDYPATH=/certs
  159. # - HTTP_HOST=${HTTP_HOST}
  160. # ports:
  161. # - 80:80
  162. # - 443:443
  163. # volumes:
  164. # - app:/var/www/html:ro
  165. # - certs:/certs
  166. # depends_on:
  167. ## - app
  168. # volumes:
  169. # ./ttrss-docker/db:
  170. # ./ttrss-docker/app:
  171. # certs:
  172.  
  173. #################################################################3
  174. #### Bitwarden ##########
  175. ##################################################################
  176. bitwarden_web:
  177. image: bitwardenrs/server:latest
  178. restart: unless-stopped
  179. networks:
  180. - traefik_proxy
  181. volumes:
  182. - /var/homelabos/bitwarden:/bitwarden/data
  183. environment:
  184. - SMTP_HOST={{ smtp.host }}
  185. - SMTP_FROM={{ smtp.from_email }}
  186. - SMTP_PORT=587
  187. - SMTP_SSL=true
  188. - SMTP_USERNAME={{ smtp.user }}
  189. - SMTP_PASSWORD={{ smtp.pass }}
  190. labels:
  191. - "traefik.enable=true"
  192. - "traefik.docker.network=traefik_proxy"
  193. - "traefik.http.frontend.rule=Host:bitwarden.${DOMAINNAME}"
  194. - "traefik.http.protocol=http"
  195. - "traefik.http.port=80"
  196. - "traefik.port=9003"
  197. - "traefik.http.frontend.headers.customFrameOptionsValue=ALLOW-FROM http://${DOMAINNAME}"
  198. - "traefik.http.frontend.headers.customFrameOptionsValue=ALLOW-FROM https://${DOMAINNAME}"
  199. #{% if enable_tor %}
  200. # - "traefik.tor.frontend.rule=Host:bitwarden.{{ tor_domain }}"
  201. # - "traefik.tor.protocol=http"
  202. # - "traefik.tor.port=80"
  203. #{% endif %}
  204. ##########################################################################################
  205. ##### Calibre ##
  206. ##########################################################################################
  207. calibre-web:
  208. image: linuxserver/calibre-web
  209. container_name: calibre-web
  210. environment:
  211. - PUID=${PUID}
  212. - PGID=${PGID}
  213. - TZ=${TZ}
  214. - DOCKER_MODS=linuxserver/calibre-web:calibre
  215. volumes:
  216. - /home/useruser/calibre-library/config:${PWD}/calibre-web/config
  217. - /home/useruser/calibre-library:${PWD}/calibre-web/books
  218. restart: unless-stopped
  219. labels:
  220. - "traefik.enable=true"
  221. - "traefik.docker.network=traefik_proxy"
  222. - "traefik.http.frontend.rule=Host:calibre.${DOMAINNAME}"
  223. - "traefik.http.protocol=http"
  224. - "traefik.http.port=80"
  225. - "traefik.port=9004"
  226. - "traefik.http.frontend.headers.customFrameOptionsValue=ALLOW-FROM http://${DOMAINNAME}"
  227. - "traefik.http.frontend.headers.customFrameOptionsValue=ALLOW-FROM https://${DOMAINNAME}"
  228. - "traefik.frontend.auth.forward.tls.insecureSkipVerify=true"
  229. ####################################################################################################3
  230. ### php-admin #####
  231. #####################################################################################################
  232. phpmyadmin:
  233. image: phpmyadmin/phpmyadmin
  234. container_name: phpmyadmin
  235. environment:
  236. - PMA_ARBITRARY=1
  237. restart: always
  238. volumes:
  239. - /sessions
  240. labels:
  241. - "traefik.enable=true"
  242. - "traefik.docker.network=traefik_proxy"
  243. - "traefik.http.frontend.rule=Host:myad.${DOMAINNAME}"
  244. - "traefik.http.protocol=http"
  245. - "traefik.http.port=80"
  246. - "traefik.port=9005"
  247. - "traefik.http.frontend.headers.customFrameOptionsValue=ALLOW-FROM http://${DOMAINNAME}"
  248. - "traefik.http.frontend.headers.customFrameOptionsValue=ALLOW-FROM https://${DOMAINNAME}"
  249. - "traefik.frontend.auth.forward.tls.insecureSkipVerify=true"
  250. ports:
  251. - '9005:9005'
  252. # - '443:443'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement