version: "3.8" services: backend: build: context: ../backend dockerfile: ../docker/Dockerfile container_name: backend environment: - DATABASE_TYPE=mysql - DATABASE_URL=bamort:${MARIADB_PASSWORD:-secure_user_password}@tcp(mariadb:3306)/bamort?charset=utf8mb4&parseTime=True&loc=Local ports: - "8180:8180" depends_on: mariadb: condition: service_healthy restart: unless-stopped frontend: build: context: ../frontend dockerfile: ../docker/Dockerfile.frontend container_name: frontend ports: - "5173:80" environment: - VITE_API_URL=${VITE_API_URL:-http://bamort.trokan.de:8180} - BASE_URL=http://bamort.trokan.de:8180 - PORT=8180 - ENVIRONMENT=production - DATABASE_TYPE=mysql - DATABASE_URL=bamort:bG4)efozrc@tcp(mariadb:3306)/bamort?charset=utf8mb4&parseTime=True&loc=Local depends_on: - backend mariadb: image: mariadb:11.4 container_name: bamort-mariadb restart: unless-stopped #ports: # - "3306:3306" environment: MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD:-secure_root_password} MARIADB_DATABASE: bamort MARIADB_USER: bamort MARIADB_PASSWORD: ${MARIADB_PASSWORD:-secure_user_password} MARIADB_CHARSET: utf8mb4 MARIADB_COLLATION: utf8mb4_unicode_ci volumes: - ./bamort-db:/var/lib/mysql - ./init-db:/docker-entrypoint-initdb.d healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] start_period: 10s timeout: 5s retries: 3 # phpMyAdmin - Database Management (commented out for production) # Uncomment the following section if you need database management in production # phpmyadmin: # image: phpmyadmin/phpmyadmin:5.2 # container_name: bamort-phpmyadmin # restart: unless-stopped # ports: # - "8081:80" # environment: # PMA_HOST: mariadb # PMA_PORT: 3306 # PMA_USER: root # PMA_PASSWORD: ${MARIADB_ROOT_PASSWORD:-secure_root_password} # MYSQL_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD:-secure_root_password} # PMA_ARBITRARY: 1 # depends_on: # mariadb: # condition: service_healthy volumes: db_data: