| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253 |
- version: '3.8'
- services:
- npm:
- image: 'jc21/nginx-proxy-manager:latest'
- container_name: 'nginx-proxy-manager'
- restart: unless-stopped
- ports:
- - "80:80"
- - "81:81"
- - "443:443"
- volumes:
- - ../data/npm:/data
- - ../data/npm_letsencrypt:/etc/letsencrypt
- networks:
- - automate-network
- paperless:
- image: 'ghcr.io/paperless-ngx/paperless-ngx:latest'
- container_name: 'paperless'
- restart: unless-stopped
- environment:
- - PAPERLESS_DB_HOST=${PAPERLESS_DB_HOST}
- - PAPERLESS_DB_NAME=${PAPERLESS_DB_NAME}
- - PAPERLESS_DB_USER=${PAPERLESS_DB_USER}
- - PAPERLESS_DB_PASSWORD=${PAPERLESS_DB_PASSWORD}
- - PAPERLESS_REDIS=redis://paperless-redis:6379
- ports:
- - "8000:8000"
- volumes:
- - ../data/paperless:/usr/src/paperless/data
- depends_on:
- - paperless-db
- - paperless-redis
- networks:
- - automate-network
- paperless-db:
- image: 'postgres:13'
- container_name: 'paperless-db'
- restart: unless-stopped
- environment:
- - POSTGRES_DB=${PAPERLESS_DB_NAME}
- - POSTGRES_USER=${PAPERLESS_DB_USER}
- - POSTGRES_PASSWORD=${PAPERLESS_DB_PASSWORD}
- ports:
- - "5432:5432" # Expose PostgreSQL on host port 5432
- volumes:
- - ../data/paperless_db:/var/lib/postgresql/data
- networks:
- - automate-network
- paperless-redis:
- image: 'redis:alpine'
- container_name: 'paperless-redis'
- ports:
- - "6379:6379"
- restart: unless-stopped
- volumes:
- - ../data/paperless_redis:/data
- healthcheck:
- test: ["CMD", "redis-cli", "ping"]
- interval: 10s
- timeout: 5s
- retries: 5
- networks:
- - automate-network
- nextcloud:
- image: 'nextcloud:latest'
- container_name: 'nextcloud'
- restart: unless-stopped
- environment:
- - MYSQL_HOST=${NEXTCLOUD_DB_HOST}
- - MYSQL_DATABASE=${NEXTCLOUD_DB_NAME}
- - MYSQL_USER=${NEXTCLOUD_DB_USER}
- - MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD}
- - OVERWRITEPROTOCOL=https # Setze das Protokoll auf HTTPS
- - TRUSTED_PROXIES=172.18.0.5 # Setze die trusted_proxies
- - OVERWRITE_CLI_URL=https://cloud.mrx8086.com # Setze die CLI-URL auf HTTPS
- ports:
- - "9080:80" # HTTP Port für Nextcloud
- - "9443:443" # HTTPS Port für Nextcloud
- volumes:
- - ../data/nextcloud:/var/www/html
- - ../configs/certs/mrx8086.com:/etc/ssl/certs/mrx8086.com
- - ../configs/nextcloud/nextcloud-ssl.conf:/etc/apache2/sites-available/nextcloud-ssl.conf
- - ../configs/nextcloud/hsts.conf:/etc/apache2/conf-available/hsts.conf # HSTS Konfiguration hinzufügen
- - ../configs/nextcloud/config.php:/var/www/html/config/config.php # Überschreibe config.php
- depends_on:
- - nextcloud-db
- networks:
- automate-network:
- ipv4_address: 172.18.0.11
- extra_hosts:
- - "auth.mrx8086.com:172.18.0.6"
- - "cloud.mrx8086.com:172.18.0.11"
- command: >
- bash -c "
- a2enmod ssl &&
- a2ensite nextcloud-ssl &&
- a2enconf hsts &&
- apache2-foreground"
-
- nextcloud-db:
- image: 'mariadb:latest'
- container_name: 'nextcloud-db'
- restart: unless-stopped
- environment:
- - MYSQL_ROOT_PASSWORD=${NEXTCLOUD_DB_ROOT_PASSWORD}
- - MYSQL_DATABASE=${NEXTCLOUD_DB_NAME}
- - MYSQL_USER=${NEXTCLOUD_DB_USER}
- - MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD}
- ports:
- - "3306:3306"
- volumes:
- - ../data/nextcloud_db:/var/lib/mysql
- networks:
- - automate-network
- kimai:
- image: 'kimai/kimai2:apache'
- container_name: 'kimai'
- restart: unless-stopped
- environment:
- - APP_ENV=prod
- - DATABASE_URL=mysql://${KIMAI_DB_USER}:${KIMAI_DB_PASSWORD}@${KIMAI_DB_HOST}/${KIMAI_DB_NAME}
- - TRUSTED_PROXIES=nginx,localhost,127.0.0.1 # Vertrauenswürdige Proxies für Reverse Proxy Setup
- - ADMINMAIL=${KIMAI_ADMIN_EMAIL} # E-Mail für den Admin
- - ADMINPASS=${KIMAI_ADMIN_PASSWORD} # Passwort für den Admin
- - TIMEZONE=Europe/Berlin # Zeitzone für Kimai
- - APP_SECRET=${KIMAI_APP_SECRET} # Sicherer Secret Key für die Anwendung
- ports:
- - "8001:8001"
- volumes:
- - data:/opt/kimai/var/data
- - plugins:/opt/kimai/var/plugins
- depends_on:
- - kimai-db
- networks:
- - automate-network
- kimai-db:
- image: 'mariadb:10.5'
- container_name: 'kimai-db'
- restart: unless-stopped
- environment:
- - MYSQL_ROOT_PASSWORD=${KIMAI_DB_ROOT_PASSWORD}
- - MYSQL_DATABASE=${KIMAI_DB_NAME}
- - MYSQL_USER=${KIMAI_DB_USER}
- - MYSQL_PASSWORD=${KIMAI_DB_PASSWORD}
- ports:
- - "3307:3306"
- volumes:
- - ../data/kimai_db:/var/lib/mysql
- networks:
- - automate-network
- n8n:
- image: 'n8nio/n8n:latest'
- container_name: 'n8n'
- restart: unless-stopped
- environment:
- - N8N_BASIC_AUTH_ACTIVE=true
- - N8N_BASIC_AUTH_USER=${N8N_USER}
- - N8N_BASIC_AUTH_PASSWORD=${N8N_PASSWORD}
- - N8N_PORT=5678
- - DB_TYPE=postgresdb
- - DB_POSTGRESDB_HOST=n8n-db
- - DB_POSTGRESDB_DATABASE=${N8N_DB_NAME}
- - DB_POSTGRESDB_USER=${N8N_DB_USER}
- - DB_POSTGRESDB_PASSWORD=${N8N_DB_PASSWORD}
- ports:
- - "5678:5678"
- volumes:
- - ../data/n8n:/home/node/.n8n
- depends_on:
- - n8n-db
- networks:
- - automate-network
- n8n-db:
- image: 'postgres:13'
- container_name: 'n8n-db'
- restart: unless-stopped
- environment:
- - POSTGRES_DB=${N8N_DB_NAME}
- - POSTGRES_USER=${N8N_DB_USER}
- - POSTGRES_PASSWORD=${N8N_DB_PASSWORD}
- volumes:
- - ../data/n8n_db:/var/lib/postgresql/data
- networks:
- - automate-network
- keycloak:
- image: 'quay.io/keycloak/keycloak:latest'
- container_name: 'keycloak'
- restart: unless-stopped
- environment:
- - KC_DB=postgres
- - KC_DB_URL=jdbc:postgresql://keycloak-db:5432/${KEYCLOAK_DB_NAME}
- - KC_DB_USERNAME=${KEYCLOAK_DB_USER}
- - KC_DB_PASSWORD=${KEYCLOAK_DB_PASSWORD}
- - KC_HOSTNAME=auth.mrx8086.com
- - KC_HTTPS_CERTIFICATE_FILE=/etc/x509/https/fullchain.pem
- - KC_HTTPS_CERTIFICATE_KEY_FILE=/etc/x509/https/privkey.pem
- - KC_BOOTSTRAP_ADMIN_USERNAME=${KEYCLOAK_ADMIN_USER}
- - KC_BOOTSTRAP_ADMIN_PASSWORD=${KEYCLOAK_ADMIN_PASSWORD}
- ports:
- - "8443:8443"
- volumes:
- - ../configs/certs/mrx8086.com:/etc/x509/https
- - ../data/keycloak_data:/opt/keycloak/data
- - ../data/keycloak_transaction_logs:/opt/keycloak/data/transaction-logs
- - ../data/keycloak_conf:/opt/keycloak/conf
- - ../data/keycloak_logs:/opt/keycloak/log
- - ../data/keycloak_tmp:/opt/keycloak/data/tmp # <--- Neu hinzugefügt
- command:
- - start-dev
- depends_on:
- - keycloak-db
- networks:
- automate-network:
- ipv4_address: 172.18.0.6
- extra_hosts:
- - "auth.mrx8086.com:172.18.0.6"
- - "cloud.mrx8086.com:172.18.0.11"
- keycloak-db:
- image: 'postgres:13'
- container_name: 'keycloak-db'
- restart: unless-stopped
- environment:
- - POSTGRES_DB=${KEYCLOAK_DB_NAME}
- - POSTGRES_USER=${KEYCLOAK_DB_USER}
- - POSTGRES_PASSWORD=${KEYCLOAK_DB_PASSWORD}
- ports:
- - "5433:5432" # Port für PostgreSQL erreichbar machen
- volumes:
- - ../data/keycloak_db:/var/lib/postgresql/data
- networks:
- - automate-network
- networks:
- automate-network:
- ipam:
- config:
- - subnet: 172.18.0.0/16
- volumes:
- data:
- plugins:
|