tmp.yml 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. version: '3.8'
  2. services:
  3. npm:
  4. image: 'jc21/nginx-proxy-manager:latest'
  5. container_name: 'nginx-proxy-manager'
  6. restart: unless-stopped
  7. ports:
  8. - "80:80"
  9. - "81:81"
  10. - "443:443"
  11. volumes:
  12. - ../data/npm:/data
  13. - ../data/npm_letsencrypt:/etc/letsencrypt
  14. networks:
  15. - automate-network
  16. paperless:
  17. image: 'ghcr.io/paperless-ngx/paperless-ngx:latest'
  18. container_name: 'paperless'
  19. restart: unless-stopped
  20. environment:
  21. - PAPERLESS_DB_HOST=${PAPERLESS_DB_HOST}
  22. - PAPERLESS_DB_NAME=${PAPERLESS_DB_NAME}
  23. - PAPERLESS_DB_USER=${PAPERLESS_DB_USER}
  24. - PAPERLESS_DB_PASSWORD=${PAPERLESS_DB_PASSWORD}
  25. - PAPERLESS_REDIS=redis://paperless-redis:6379
  26. ports:
  27. - "8000:8000"
  28. volumes:
  29. - ../data/paperless:/usr/src/paperless/data
  30. depends_on:
  31. - paperless-db
  32. - paperless-redis
  33. networks:
  34. - automate-network
  35. paperless-db:
  36. image: 'postgres:13'
  37. container_name: 'paperless-db'
  38. restart: unless-stopped
  39. environment:
  40. - POSTGRES_DB=${PAPERLESS_DB_NAME}
  41. - POSTGRES_USER=${PAPERLESS_DB_USER}
  42. - POSTGRES_PASSWORD=${PAPERLESS_DB_PASSWORD}
  43. ports:
  44. - "5432:5432" # Expose PostgreSQL on host port 5432
  45. volumes:
  46. - ../data/paperless_db:/var/lib/postgresql/data
  47. networks:
  48. - automate-network
  49. paperless-redis:
  50. image: 'redis:alpine'
  51. container_name: 'paperless-redis'
  52. ports:
  53. - "6379:6379"
  54. restart: unless-stopped
  55. volumes:
  56. - ../data/paperless_redis:/data
  57. healthcheck:
  58. test: ["CMD", "redis-cli", "ping"]
  59. interval: 10s
  60. timeout: 5s
  61. retries: 5
  62. networks:
  63. - automate-network
  64. nextcloud:
  65. image: 'nextcloud:latest'
  66. container_name: 'nextcloud'
  67. restart: unless-stopped
  68. environment:
  69. - MYSQL_HOST=${NEXTCLOUD_DB_HOST}
  70. - MYSQL_DATABASE=${NEXTCLOUD_DB_NAME}
  71. - MYSQL_USER=${NEXTCLOUD_DB_USER}
  72. - MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD}
  73. - OVERWRITEPROTOCOL=https # Setze das Protokoll auf HTTPS
  74. - TRUSTED_PROXIES=172.18.0.5 # Setze die trusted_proxies
  75. - OVERWRITE_CLI_URL=https://cloud.mrx8086.com # Setze die CLI-URL auf HTTPS
  76. ports:
  77. - "9080:80" # HTTP Port für Nextcloud
  78. - "9443:443" # HTTPS Port für Nextcloud
  79. volumes:
  80. - ../data/nextcloud:/var/www/html
  81. - ../configs/certs/mrx8086.com:/etc/ssl/certs/mrx8086.com
  82. - ../configs/nextcloud/nextcloud-ssl.conf:/etc/apache2/sites-available/nextcloud-ssl.conf
  83. - ../configs/nextcloud/hsts.conf:/etc/apache2/conf-available/hsts.conf # HSTS Konfiguration hinzufügen
  84. - ../configs/nextcloud/config.php:/var/www/html/config/config.php # Überschreibe config.php
  85. depends_on:
  86. - nextcloud-db
  87. networks:
  88. automate-network:
  89. ipv4_address: 172.18.0.11
  90. extra_hosts:
  91. - "auth.mrx8086.com:172.18.0.6"
  92. - "cloud.mrx8086.com:172.18.0.11"
  93. command: >
  94. bash -c "
  95. a2enmod ssl &&
  96. a2ensite nextcloud-ssl &&
  97. a2enconf hsts &&
  98. apache2-foreground"
  99. nextcloud-db:
  100. image: 'mariadb:latest'
  101. container_name: 'nextcloud-db'
  102. restart: unless-stopped
  103. environment:
  104. - MYSQL_ROOT_PASSWORD=${NEXTCLOUD_DB_ROOT_PASSWORD}
  105. - MYSQL_DATABASE=${NEXTCLOUD_DB_NAME}
  106. - MYSQL_USER=${NEXTCLOUD_DB_USER}
  107. - MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD}
  108. ports:
  109. - "3306:3306"
  110. volumes:
  111. - ../data/nextcloud_db:/var/lib/mysql
  112. networks:
  113. - automate-network
  114. kimai:
  115. image: 'kimai/kimai2:apache'
  116. container_name: 'kimai'
  117. restart: unless-stopped
  118. environment:
  119. - APP_ENV=prod
  120. - DATABASE_URL=mysql://${KIMAI_DB_USER}:${KIMAI_DB_PASSWORD}@${KIMAI_DB_HOST}/${KIMAI_DB_NAME}
  121. - TRUSTED_PROXIES=nginx,localhost,127.0.0.1 # Vertrauenswürdige Proxies für Reverse Proxy Setup
  122. - ADMINMAIL=${KIMAI_ADMIN_EMAIL} # E-Mail für den Admin
  123. - ADMINPASS=${KIMAI_ADMIN_PASSWORD} # Passwort für den Admin
  124. - TIMEZONE=Europe/Berlin # Zeitzone für Kimai
  125. - APP_SECRET=${KIMAI_APP_SECRET} # Sicherer Secret Key für die Anwendung
  126. ports:
  127. - "8001:8001"
  128. volumes:
  129. - data:/opt/kimai/var/data
  130. - plugins:/opt/kimai/var/plugins
  131. depends_on:
  132. - kimai-db
  133. networks:
  134. - automate-network
  135. kimai-db:
  136. image: 'mariadb:10.5'
  137. container_name: 'kimai-db'
  138. restart: unless-stopped
  139. environment:
  140. - MYSQL_ROOT_PASSWORD=${KIMAI_DB_ROOT_PASSWORD}
  141. - MYSQL_DATABASE=${KIMAI_DB_NAME}
  142. - MYSQL_USER=${KIMAI_DB_USER}
  143. - MYSQL_PASSWORD=${KIMAI_DB_PASSWORD}
  144. ports:
  145. - "3307:3306"
  146. volumes:
  147. - ../data/kimai_db:/var/lib/mysql
  148. networks:
  149. - automate-network
  150. n8n:
  151. image: 'n8nio/n8n:latest'
  152. container_name: 'n8n'
  153. restart: unless-stopped
  154. environment:
  155. - N8N_BASIC_AUTH_ACTIVE=true
  156. - N8N_BASIC_AUTH_USER=${N8N_USER}
  157. - N8N_BASIC_AUTH_PASSWORD=${N8N_PASSWORD}
  158. - N8N_PORT=5678
  159. - DB_TYPE=postgresdb
  160. - DB_POSTGRESDB_HOST=n8n-db
  161. - DB_POSTGRESDB_DATABASE=${N8N_DB_NAME}
  162. - DB_POSTGRESDB_USER=${N8N_DB_USER}
  163. - DB_POSTGRESDB_PASSWORD=${N8N_DB_PASSWORD}
  164. ports:
  165. - "5678:5678"
  166. volumes:
  167. - ../data/n8n:/home/node/.n8n
  168. depends_on:
  169. - n8n-db
  170. networks:
  171. - automate-network
  172. n8n-db:
  173. image: 'postgres:13'
  174. container_name: 'n8n-db'
  175. restart: unless-stopped
  176. environment:
  177. - POSTGRES_DB=${N8N_DB_NAME}
  178. - POSTGRES_USER=${N8N_DB_USER}
  179. - POSTGRES_PASSWORD=${N8N_DB_PASSWORD}
  180. volumes:
  181. - ../data/n8n_db:/var/lib/postgresql/data
  182. networks:
  183. - automate-network
  184. keycloak:
  185. image: 'quay.io/keycloak/keycloak:latest'
  186. container_name: 'keycloak'
  187. restart: unless-stopped
  188. environment:
  189. - KC_DB=postgres
  190. - KC_DB_URL=jdbc:postgresql://keycloak-db:5432/${KEYCLOAK_DB_NAME}
  191. - KC_DB_USERNAME=${KEYCLOAK_DB_USER}
  192. - KC_DB_PASSWORD=${KEYCLOAK_DB_PASSWORD}
  193. - KC_HOSTNAME=auth.mrx8086.com
  194. - KC_HTTPS_CERTIFICATE_FILE=/etc/x509/https/fullchain.pem
  195. - KC_HTTPS_CERTIFICATE_KEY_FILE=/etc/x509/https/privkey.pem
  196. - KC_BOOTSTRAP_ADMIN_USERNAME=${KEYCLOAK_ADMIN_USER}
  197. - KC_BOOTSTRAP_ADMIN_PASSWORD=${KEYCLOAK_ADMIN_PASSWORD}
  198. ports:
  199. - "8443:8443"
  200. volumes:
  201. - ../configs/certs/mrx8086.com:/etc/x509/https
  202. - ../data/keycloak_data:/opt/keycloak/data
  203. - ../data/keycloak_transaction_logs:/opt/keycloak/data/transaction-logs
  204. - ../data/keycloak_conf:/opt/keycloak/conf
  205. - ../data/keycloak_logs:/opt/keycloak/log
  206. - ../data/keycloak_tmp:/opt/keycloak/data/tmp # <--- Neu hinzugefügt
  207. command:
  208. - start-dev
  209. depends_on:
  210. - keycloak-db
  211. networks:
  212. automate-network:
  213. ipv4_address: 172.18.0.6
  214. extra_hosts:
  215. - "auth.mrx8086.com:172.18.0.6"
  216. - "cloud.mrx8086.com:172.18.0.11"
  217. keycloak-db:
  218. image: 'postgres:13'
  219. container_name: 'keycloak-db'
  220. restart: unless-stopped
  221. environment:
  222. - POSTGRES_DB=${KEYCLOAK_DB_NAME}
  223. - POSTGRES_USER=${KEYCLOAK_DB_USER}
  224. - POSTGRES_PASSWORD=${KEYCLOAK_DB_PASSWORD}
  225. ports:
  226. - "5433:5432" # Port für PostgreSQL erreichbar machen
  227. volumes:
  228. - ../data/keycloak_db:/var/lib/postgresql/data
  229. networks:
  230. - automate-network
  231. networks:
  232. automate-network:
  233. ipam:
  234. config:
  235. - subnet: 172.18.0.0/16
  236. volumes:
  237. data:
  238. plugins: