You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							121 lines
						
					
					
						
							3.2 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							121 lines
						
					
					
						
							3.2 KiB
						
					
					
				| version: '3.8' | |
|  | |
| services: | |
|   # Keycloak OIDC Provider | |
|   keycloak: | |
|     image: quay.io/keycloak/keycloak:26.0.7 | |
|     container_name: keycloak-iam-test | |
|     environment: | |
|       KEYCLOAK_ADMIN: admin | |
|       KEYCLOAK_ADMIN_PASSWORD: admin123 | |
|       KC_HTTP_PORT: 8080 | |
|       KC_HOSTNAME_STRICT: false | |
|       KC_HOSTNAME_STRICT_HTTPS: false | |
|       KC_HTTP_ENABLED: true | |
|       KC_HEALTH_ENABLED: true | |
|     ports: | |
|       - "8080:8080" | |
|     command:  | |
|       - start-dev | |
|       - --import-realm | |
|     volumes: | |
|       - ./keycloak-realm.json:/opt/keycloak/data/import/realm.json:ro | |
|     healthcheck: | |
|       test: ["CMD", "curl", "-f", "http://localhost:8080/health/ready"] | |
|       interval: 30s | |
|       timeout: 10s | |
|       retries: 5 | |
|       start_period: 60s | |
|     networks: | |
|       - seaweedfs-iam | |
|  | |
|   # SeaweedFS Master | |
|   seaweedfs-master: | |
|     image: chrislusf/seaweedfs:latest | |
|     container_name: seaweedfs-master-iam | |
|     ports: | |
|       - "9333:9333" | |
|       - "19333:19333" | |
|     command: master -ip=seaweedfs-master -mdir=/data -volumeSizeLimitMB=50 | |
|     volumes: | |
|       - seaweedfs-master-data:/data | |
|     healthcheck: | |
|       test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:9333/cluster/status"] | |
|       interval: 10s | |
|       timeout: 5s | |
|       retries: 3 | |
|     networks: | |
|       - seaweedfs-iam | |
|  | |
|   # SeaweedFS Volume Server | |
|   seaweedfs-volume: | |
|     image: chrislusf/seaweedfs:latest | |
|     container_name: seaweedfs-volume-iam | |
|     ports: | |
|       - "8080:8080" | |
|     command: volume -ip=seaweedfs-volume -port=8080 -mserver=seaweedfs-master:9333 -dir=/data | |
|     volumes: | |
|       - seaweedfs-volume-data:/data | |
|     depends_on: | |
|       seaweedfs-master: | |
|         condition: service_healthy | |
|     healthcheck: | |
|       test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8080/status"] | |
|       interval: 10s | |
|       timeout: 5s | |
|       retries: 3 | |
|     networks: | |
|       - seaweedfs-iam | |
|  | |
|   # SeaweedFS Filer | |
|   seaweedfs-filer: | |
|     image: chrislusf/seaweedfs:latest | |
|     container_name: seaweedfs-filer-iam | |
|     ports: | |
|       - "8888:8888" | |
|       - "18888:18888" | |
|     command: filer -ip=seaweedfs-filer -master=seaweedfs-master:9333 | |
|     depends_on: | |
|       seaweedfs-master: | |
|         condition: service_healthy | |
|     healthcheck: | |
|       test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8888/"] | |
|       interval: 10s | |
|       timeout: 5s | |
|       retries: 3 | |
|     networks: | |
|       - seaweedfs-iam | |
|  | |
|   # SeaweedFS S3 Gateway with IAM | |
|   seaweedfs-s3: | |
|     build: | |
|       context: ../../.. | |
|       dockerfile: test/s3/iam/Dockerfile.s3 | |
|     container_name: seaweedfs-s3-iam | |
|     ports: | |
|       - "8333:8333" | |
|     environment: | |
|       - KEYCLOAK_URL=http://keycloak:8080 | |
|     command: s3 -port=8333 -filer=seaweedfs-filer:8888 -iam.config=/etc/seaweedfs/iam_config.json | |
|     volumes: | |
|       - ./iam_config_docker.json:/etc/seaweedfs/iam_config.json:ro | |
|     depends_on: | |
|       keycloak: | |
|         condition: service_healthy | |
|       seaweedfs-filer: | |
|         condition: service_healthy | |
|     healthcheck: | |
|       test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8333/"] | |
|       interval: 10s | |
|       timeout: 5s | |
|       retries: 3 | |
|     networks: | |
|       - seaweedfs-iam | |
|  | |
| volumes: | |
|   seaweedfs-master-data: | |
|   seaweedfs-volume-data: | |
|  | |
| networks: | |
|   seaweedfs-iam: | |
|     driver: bridge
 |