version: '3.9' services: master: image: chrislusf/seaweedfs:local ports: - 9333:9333 - 19333:19333 command: "master -ip=master" volume: image: chrislusf/seaweedfs:local ports: - 8080:8080 - 18080:18080 command: "volume -mserver=master:9333 -port=8080 -ip=volume" depends_on: - master mysql: image: percona/percona-server:5.7 ports: - 3306:3306 volumes: - ./seaweedfs.sql:/docker-entrypoint-initdb.d/seaweedfs.sql environment: - MYSQL_ROOT_PASSWORD=secret - MYSQL_DATABASE=seaweedfs - MYSQL_PASSWORD=secret - MYSQL_USER=seaweedfs filer: image: chrislusf/seaweedfs:local ports: - 8888:8888 - 18888:18888 environment: - WEED_MYSQL_HOSTNAME=mysql - WEED_MYSQL_PORT=3306 - WEED_MYSQL_DATABASE=seaweedfs - WEED_MYSQL_USERNAME=seaweedfs - WEED_MYSQL_PASSWORD=secret - WEED_MYSQL_ENABLED=true - WEED_MYSQL_CONNECTION_MAX_IDLE=5 - WEED_MYSQL_CONNECTION_MAX_OPEN=75 # "refresh" connection every 10 minutes, eliminating mysql closing "old" connections - WEED_MYSQL_CONNECTION_MAX_LIFETIME_SECONDS=600 # enable usage of memsql as filer backend - WEED_MYSQL_INTERPOLATEPARAMS=true - WEED_LEVELDB2_ENABLED=false command: '-v 9 filer -master="master:9333"' depends_on: - master - volume - mysql ingress: image: jwilder/nginx-proxy:alpine ports: - "80:80" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - ./nginx/proxy.conf:/etc/nginx/proxy.conf s3: image: chrislusf/seaweedfs:local ports: - 8333:8333 command: '-v 9 s3 -filer="filer:8888"' depends_on: - master - volume - filer environment: - VIRTUAL_HOST=ingress - VIRTUAL_PORT=8333 registry: image: registry:2 environment: REGISTRY_HTTP_ADDR: "0.0.0.0:5001" # seaweedfs s3 REGISTRY_LOG_LEVEL: "debug" REGISTRY_STORAGE: "s3" REGISTRY_STORAGE_S3_REGION: "us-east-1" REGISTRY_STORAGE_S3_REGIONENDPOINT: "http://ingress" REGISTRY_STORAGE_S3_BUCKET: "registry" REGISTRY_STORAGE_S3_ACCESSKEY: "some_access_key1" REGISTRY_STORAGE_S3_SECRETKEY: "some_secret_key1" REGISTRY_STORAGE_S3_V4AUTH: "true" REGISTRY_STORAGE_S3_SECURE: "false" REGISTRY_STORAGE_S3_SKIPVERIFY: "true" REGISTRY_STORAGE_S3_ROOTDIRECTORY: "/" REGISTRY_STORAGE_DELETE_ENABLED: "true" REGISTRY_STORAGE_REDIRECT_DISABLE: "true" REGISTRY_VALIDATION_DISABLED: "true" ports: - 5001:5001 depends_on: - s3 - ingress