name: legalconsenthub-dev networks: legalconsenthub-net: driver: bridge volumes: legalconsenthub_postgres_data: legalconsenthub_pdf_cache: keycloak_postgres_data: services: keycloak: image: quay.io/keycloak/keycloak:26.4.0 container_name: legalconsenthub-keycloak command: start-dev environment: KC_DB: postgres KC_DB_URL_HOST: keycloak-db KC_DB_USERNAME: ${KEYCLOAK_POSTGRES_USER} KC_DB_PASSWORD: ${KEYCLOAK_POSTGRES_PASSWORD} KC_DB_DATABASE: ${KEYCLOAK_POSTGRES_DB} KC_DB_SCHEMA: public KC_BOOTSTRAP_ADMIN_USERNAME: ${KEYCLOAK_ADMIN} KC_BOOTSTRAP_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD} KC_HOSTNAME: ${KEYCLOAK_HOSTNAME} KC_HTTP_ENABLED: true KC_HEALTH_ENABLED: true env_file: - .env.dev ports: - "7080:8080" depends_on: keycloak-db: condition: service_healthy networks: - legalconsenthub-net healthcheck: test: ["CMD-SHELL", "curl --head -fsS http://localhost:9000/health/ready | echo $?"] interval: 30s timeout: 10s retries: 5 start_period: 40s keycloak-db: image: postgres:latest container_name: legalconsenthub-keycloak-postgres environment: POSTGRES_USER: ${KEYCLOAK_POSTGRES_USER} POSTGRES_PASSWORD: ${KEYCLOAK_POSTGRES_PASSWORD} POSTGRES_DB: ${KEYCLOAK_POSTGRES_DB} env_file: - .env.dev ports: - "5532:5432" networks: - legalconsenthub-net volumes: - keycloak_postgres_data:/var/lib/postgresql healthcheck: test: ["CMD-SHELL", "pg_isready -U $${KEYCLOAK_POSTGRES_USER} -d $${KEYCLOAK_POSTGRES_DB}"] interval: 10s retries: 5 start_period: 30s timeout: 10s maildev: image: maildev/maildev:2.2.1 container_name: legalconsenthub-maildev ports: - "1080:1080" - "1025:1025" networks: - legalconsenthub-net ############################################### backend: image: gitea.lugnas.de/denis/legalconsenthub-backend:latest container_name: legalconsenthub-backend-local restart: on-failure:2 environment: LEGALCONSENTHUB_DB_URL: jdbc:postgresql://legalconsenthub-db:5432/${LEGALCONSENTHUB_POSTGRES_DB} LEGALCONSENTHUB_DB_APP_USER: ${LEGALCONSENTHUB_POSTGRES_USER} LEGALCONSENTHUB_DB_PASSWORD: ${LEGALCONSENTHUB_POSTGRES_PASSWORD} SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI: ${KEYCLOAK_ISSUER_URL}/realms/${KEYCLOAK_REALM} SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI: http://keycloak:8080/realms/${KEYCLOAK_REALM}/protocol/openid-connect/certs SERVER_PORT: 8080 LEGALCONSENTHUB_PDF_STORAGE_FILESYSTEM_BASE_DIR: /var/lib/legalconsenthub/pdfs ports: - "8081:8080" volumes: - legalconsenthub_pdf_cache:/var/lib/legalconsenthub/pdfs depends_on: legalconsenthub-db: condition: service_started networks: - legalconsenthub-net env_file: - .env.dev frontend: image: gitea.lugnas.de/denis/legalconsenthub:latest container_name: legalconsenthub-frontend-local ports: - "3211:3000" networks: - legalconsenthub-net env_file: - .env.dev legalconsenthub-db: image: postgres:latest container_name: legalconsenthub-postgres-local environment: POSTGRES_USER: ${LEGALCONSENTHUB_POSTGRES_USER} POSTGRES_PASSWORD: ${LEGALCONSENTHUB_POSTGRES_PASSWORD} POSTGRES_DB: ${LEGALCONSENTHUB_POSTGRES_DB} ports: - "5446:5432" networks: - legalconsenthub-net volumes: - legalconsenthub_postgres_data:/var/lib/postgresql env_file: - .env.dev