aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
Diffstat (limited to 'docker')
-rw-r--r--docker/Makefile3
-rw-r--r--docker/local-mount-compose.yml4
-rw-r--r--docker/local-replicate-compose.yml59
-rw-r--r--docker/notification.toml17
-rw-r--r--docker/replication.toml12
5 files changed, 93 insertions, 2 deletions
diff --git a/docker/Makefile b/docker/Makefile
index fe278f9b4..5949842f1 100644
--- a/docker/Makefile
+++ b/docker/Makefile
@@ -21,6 +21,9 @@ k8s: build
dev_registry: build
docker-compose -f local-registry-compose.yml -p seaweedfs up
+dev_replicate: build
+ docker-compose -f local-replicate-compose.yml -p seaweedfs up
+
cluster: build
docker-compose -f local-cluster-compose.yml -p seaweedfs up
diff --git a/docker/local-mount-compose.yml b/docker/local-mount-compose.yml
index 97fc652d4..62a6691d6 100644
--- a/docker/local-mount-compose.yml
+++ b/docker/local-mount-compose.yml
@@ -31,7 +31,7 @@ services:
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=/"'
+ 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"'
depends_on:
- master
- volume
@@ -39,7 +39,7 @@ services:
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=/"'
+ 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"'
depends_on:
- master
- volume
diff --git a/docker/local-replicate-compose.yml b/docker/local-replicate-compose.yml
new file mode 100644
index 000000000..a8e0f808e
--- /dev/null
+++ b/docker/local-replicate-compose.yml
@@ -0,0 +1,59 @@
+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 \ No newline at end of file
diff --git a/docker/notification.toml b/docker/notification.toml
new file mode 100644
index 000000000..dcd5f2c6f
--- /dev/null
+++ b/docker/notification.toml
@@ -0,0 +1,17 @@
+[notification.log]
+# this is only for debugging perpose and does not work with "weed filer.replicate"
+enabled = false
+
+
+[notification.gocdk_pub_sub]
+# The Go Cloud Development Kit (https://gocloud.dev).
+# PubSub API (https://godoc.org/gocloud.dev/pubsub).
+# Supports AWS SNS/SQS, Azure Service Bus, Google PubSub, NATS and RabbitMQ.
+enabled = true
+# This URL will Dial the RabbitMQ server at the URL in the environment
+# variable RABBIT_SERVER_URL and open the exchange "myexchange".
+# The exchange must have already been created by some other means, like
+# the RabbitMQ management plugin. Сreate myexchange of type fanout and myqueue then
+# create binding myexchange => myqueue
+topic_url = "rabbit://swexchange"
+sub_url = "rabbit://swqueue" \ No newline at end of file
diff --git a/docker/replication.toml b/docker/replication.toml
new file mode 100644
index 000000000..2cee755a5
--- /dev/null
+++ b/docker/replication.toml
@@ -0,0 +1,12 @@
+[source.filer]
+enabled = true
+grpcAddress = "filer:18888"
+# all files under this directory tree are replicated.
+# this is not a directory on your hard drive, but on your filer.
+# i.e., all files with this "prefix" are sent to notification message queue.
+directory = "/buckets"
+
+[sink.local]
+enabled = true
+directory = "/data"
+todays_date_format = "2006-02-01" \ No newline at end of file