aboutsummaryrefslogtreecommitdiff
path: root/docker/compose
diff options
context:
space:
mode:
Diffstat (limited to 'docker/compose')
-rw-r--r--docker/compose/local-cluster-compose.yml53
-rw-r--r--docker/compose/local-clusters-compose.yml23
-rw-r--r--docker/compose/local-dev-compose.yml46
-rw-r--r--docker/compose/local-k8s-compose.yml94
-rw-r--r--docker/compose/local-mount-compose.yml46
-rw-r--r--docker/compose/local-registry-compose.yml91
-rw-r--r--docker/compose/local-replicate-compose.yml61
-rw-r--r--docker/compose/swarm-etcd.yml84
8 files changed, 498 insertions, 0 deletions
diff --git a/docker/compose/local-cluster-compose.yml b/docker/compose/local-cluster-compose.yml
new file mode 100644
index 000000000..bf12c4639
--- /dev/null
+++ b/docker/compose/local-cluster-compose.yml
@@ -0,0 +1,53 @@
+version: '2'
+
+services:
+ master0:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 9333:9333
+ - 19333:19333
+ command: "master -ip=master0 -port=9333 -peers=master0:9333,master1:9334,master2:9335 -mdir=/data/m1"
+ master1:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 9334:9334
+ - 19334:19334
+ command: "master -ip=master1 -port=9334 -peers=master0:9333,master1:9334,master2:9335 -mdir=/data/m2"
+ master2:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 9335:9335
+ - 19335:19335
+ command: "master -ip=master2 -port=9335 -peers=master0:9333,master1:9334,master2:9335 -mdir=/data/m3"
+ volume:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 8080:8080
+ - 18080:18080
+ command: 'volume -mserver="master0:9333,master1:9334,master2:9335" -port=8080 -ip=volume -publicUrl=localhost:8080'
+ depends_on:
+ - master0
+ - master1
+ - master2
+ filer:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 8888:8888
+ - 18888:18888
+ command: 'filer -master="master0:9333,master1:9334,master2:9335"'
+ depends_on:
+ - master0
+ - master1
+ - master2
+ - volume
+ s3:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 8333:8333
+ command: 's3 -filer="filer:8888"'
+ depends_on:
+ - master0
+ - master1
+ - master2
+ - volume
+ - filer
diff --git a/docker/compose/local-clusters-compose.yml b/docker/compose/local-clusters-compose.yml
new file mode 100644
index 000000000..e813ca35f
--- /dev/null
+++ b/docker/compose/local-clusters-compose.yml
@@ -0,0 +1,23 @@
+version: '2'
+
+services:
+ server1:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 9333:9333
+ - 19333:19333
+ - 8084:8080
+ - 18084:18080
+ - 8888:8888
+ - 18888:18888
+ command: "server -ip=server1 -filer -volume.max=0 -master.volumeSizeLimitMB=1024 -volume.preStopSeconds=1"
+ server2:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 9334:9333
+ - 19334:19333
+ - 8085:8080
+ - 18085:18080
+ - 8889:8888
+ - 18889:18888
+ command: "server -ip=server2 -filer -volume.max=0 -master.volumeSizeLimitMB=1024 -volume.preStopSeconds=1"
diff --git a/docker/compose/local-dev-compose.yml b/docker/compose/local-dev-compose.yml
new file mode 100644
index 000000000..18cccab3e
--- /dev/null
+++ b/docker/compose/local-dev-compose.yml
@@ -0,0 +1,46 @@
+version: '2'
+
+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 -preStopSeconds=1"
+ depends_on:
+ - master
+ filer:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 8888:8888
+ - 18888:18888
+ command: 'filer -master="master:9333"'
+ depends_on:
+ - master
+ - volume
+ s3:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 8333:8333
+ command: 's3 -filer="filer:8888"'
+ depends_on:
+ - master
+ - volume
+ - filer
+ mount:
+ image: chrislusf/seaweedfs:local
+ privileged: true
+ cap_add:
+ - SYS_ADMIN
+ mem_limit: 4096m
+ command: '-v=4 mount -filer="filer:8888" -dirAutoCreate -dir=/mnt/seaweedfs -cacheCapacityMB=100 -concurrentWriters=128'
+ depends_on:
+ - master
+ - volume
+ - filer
diff --git a/docker/compose/local-k8s-compose.yml b/docker/compose/local-k8s-compose.yml
new file mode 100644
index 000000000..9a25465c4
--- /dev/null
+++ b/docker/compose/local-k8s-compose.yml
@@ -0,0 +1,94 @@
+version: '2'
+
+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 \ No newline at end of file
diff --git a/docker/compose/local-mount-compose.yml b/docker/compose/local-mount-compose.yml
new file mode 100644
index 000000000..4361d6d99
--- /dev/null
+++ b/docker/compose/local-mount-compose.yml
@@ -0,0 +1,46 @@
+version: '2'
+
+services:
+ master:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 9333:9333
+ - 19333:19333
+ command: "master -ip=master"
+ volume:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 7455:8080
+ - 9325:9325
+ command: 'volume -mserver="master:9333" -port=8080 -metricsPort=9325 -preStopSeconds=1 -publicUrl=localhost:7455'
+ depends_on:
+ - master
+ filer:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 8888:8888
+ - 18888:18888
+ - 9326:9326
+ command: 'filer -master="master:9333" -metricsPort=9326'
+ tty: true
+ stdin_open: true
+ depends_on:
+ - master
+ - volume
+ mount_1:
+ image: chrislusf/seaweedfs:local
+ privileged: true
+ entrypoint: '/bin/sh -c "mkdir -p t1 && mkdir -p cache/t1 && weed -v=4 mount -filer=filer:8888 -cacheDir=./cache/t1 -dir=./t1 -filer.path=/c1" -volumeServerAccess=filerProxy'
+ depends_on:
+ - master
+ - volume
+ - filer
+ mount_2:
+ image: chrislusf/seaweedfs:local
+ privileged: true
+ entrypoint: '/bin/sh -c "mkdir -p t2 && mkdir -p cache/t2 && weed -v=4 mount -filer=filer:8888 -cacheDir=./cache/t2 -dir=./t2 -filer.path=/c1" -volumeServerAcess=publicUrl'
+ depends_on:
+ - master
+ - volume
+ - filer
+ - mount_1
diff --git a/docker/compose/local-registry-compose.yml b/docker/compose/local-registry-compose.yml
new file mode 100644
index 000000000..7f3672cd0
--- /dev/null
+++ b/docker/compose/local-registry-compose.yml
@@ -0,0 +1,91 @@
+version: '2'
+
+services:
+ master:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 9333:9333
+ - 19333:19333
+ command: "master -ip=master -volumeSizeLimitMB=1024"
+ volume:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 8080:8080
+ - 18080:18080
+ command: "volume -mserver=master:9333 -port=8080 -ip=volume -max=0 -preStopSeconds=1"
+ depends_on:
+ - master
+ filer:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 8888:8888
+ - 18888:18888
+ command: 'filer -master="master:9333"'
+ depends_on:
+ - master
+ - volume
+ s3:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 8333:8333
+ command: '-v 9 s3 -filer="filer:8888"'
+ depends_on:
+ - master
+ - volume
+ - filer
+ minio:
+ image: minio/minio
+ ports:
+ - 9000:9000
+ command: 'minio server /data'
+ environment:
+ MINIO_ACCESS_KEY: "some_access_key1"
+ MINIO_SECRET_KEY: "some_secret_key1"
+ depends_on:
+ - master
+ registry1:
+ 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://s3:8333"
+ 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
+ - minio
+ registry2:
+ image: registry:2
+ environment:
+ REGISTRY_HTTP_ADDR: "0.0.0.0:5002" # minio
+ REGISTRY_LOG_LEVEL: "debug"
+ REGISTRY_STORAGE: "s3"
+ REGISTRY_STORAGE_S3_REGION: "us-east-1"
+ REGISTRY_STORAGE_S3_REGIONENDPOINT: "http://minio:9000"
+ 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:
+ - 5002:5002
+ depends_on:
+ - s3
+ - minio \ No newline at end of file
diff --git a/docker/compose/local-replicate-compose.yml b/docker/compose/local-replicate-compose.yml
new file mode 100644
index 000000000..8240d45a7
--- /dev/null
+++ b/docker/compose/local-replicate-compose.yml
@@ -0,0 +1,61 @@
+version: '2'
+
+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 -preStopSeconds=1"
+ depends_on:
+ - master
+ filer:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 8888:8888
+ - 18888:18888
+ command: '-v=9 filer -master="master:9333"'
+ restart: on-failure
+ volumes:
+ - ./notification.toml:/etc/seaweedfs/notification.toml
+ depends_on:
+ - master
+ - volume
+ - rabbitmq
+ - replicate
+ environment:
+ RABBIT_SERVER_URL: "amqp://guest:guest@rabbitmq:5672/"
+ replicate:
+ image: chrislusf/seaweedfs:local
+ command: '-v=9 filer.replicate'
+ restart: on-failure
+ volumes:
+ - ./notification.toml:/etc/seaweedfs/notification.toml
+ - ./replication.toml:/etc/seaweedfs/replication.toml
+ depends_on:
+ - rabbitmq
+ environment:
+ RABBIT_SERVER_URL: "amqp://guest:guest@rabbitmq:5672/"
+ s3:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - 8333:8333
+ command: 's3 -filer="filer:8888"'
+ depends_on:
+ - master
+ - volume
+ - filer
+ rabbitmq:
+ image: rabbitmq:3.8.10-management-alpine
+ ports:
+ - 5672:5672
+ - 15671:15671
+ - 15672:15672
+ environment:
+ RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS: "-rabbit log_levels [{connection,error},{queue,debug}]" \ No newline at end of file
diff --git a/docker/compose/swarm-etcd.yml b/docker/compose/swarm-etcd.yml
new file mode 100644
index 000000000..186b24790
--- /dev/null
+++ b/docker/compose/swarm-etcd.yml
@@ -0,0 +1,84 @@
+# 2021-01-30 16:25:30
+version: '3.8'
+
+services:
+
+ etcd:
+ image: gasparekatapy/etcd
+ networks:
+ - net
+ deploy:
+ mode: replicated
+ replicas: 3
+
+ master:
+ image: chrislusf/seaweedfs:local
+ environment:
+ WEED_MASTER_FILER_DEFAULT: "filer:8888"
+ WEED_MASTER_SEQUENCER_TYPE: "raft"
+ ports:
+ - "9333:9333"
+ - "19333:19333"
+ networks:
+ - net
+ command:
+ - 'master'
+ - '-resumeState=true'
+ - '-ip=master'
+ - '-port=9333'
+ deploy:
+ mode: replicated
+ replicas: 1
+
+ filer:
+ image: chrislusf/seaweedfs:local
+ environment:
+ WEED_LEVELDB2_ENABLED: "false"
+ WEED_ETCD_ENABLED: "true"
+ WEED_ETCD_SERVERS: "etcd:2379"
+ ports:
+ - target: 8888
+ published: 8888
+ protocol: tcp
+ mode: host
+ - target: 18888
+ published: 18888
+ protocol: tcp
+ mode: host
+ networks:
+ - net
+ command:
+ - 'filer'
+ - '-ip=filer'
+ - '-port=8888'
+ - '-port.readonly=28888'
+ - '-master=master:9333'
+ - '-disableDirListing=true'
+ deploy:
+ mode: replicated
+ replicas: 1
+
+ volume:
+ image: chrislusf/seaweedfs:local
+ ports:
+ - target: 8080
+ published: 8080
+ protocol: tcp
+ mode: host
+ - target: 18080
+ published: 18080
+ protocol: tcp
+ mode: host
+ networks:
+ - net
+ command:
+ - 'volume'
+ - '-mserver=master:9333'
+ - '-port=8080'
+ deploy:
+ mode: global
+
+ ###########################################################################
+
+networks:
+ net: