feat: add SeaweedFS template (#630)

* feat: add SeaweedFS template

* chore: add specific seaweedfs version
This commit is contained in:
Huy Pham
2026-02-16 08:38:35 +07:00
committed by GitHub
parent 911ed4beec
commit 62706658ea
4 changed files with 477 additions and 0 deletions

View File

@@ -0,0 +1,114 @@
services:
master:
image: chrislusf/seaweedfs:4.02
command: >
-v=0
master
-volumeSizeLimitMB=10240
-ip=master
-ip.bind=0.0.0.0
-port=9333
-mdir=/data/master
volumes:
- seaweedfs-master:/data/master
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://localhost:9333"]
interval: 30s
timeout: 10s
retries: 3
expose:
- 9333
deploy:
resources:
limits:
memory: 512M
reservations:
memory: 256M
volume:
image: chrislusf/seaweedfs:4.02
command: >
-v=0
volume
-mserver="master:9333"
-port=8080
-dir=/data/volume
-max=100
volumes:
- seaweedfs-volume:/data/volume
depends_on:
master:
condition: service_healthy
restart: unless-stopped
expose:
- 8080
deploy:
resources:
limits:
memory: 1G
reservations:
memory: 512M
filer:
image: chrislusf/seaweedfs:4.02
command: >
-v=0
filer
-defaultReplicaPlacement=000
-master="master:9333"
-ip=filer
-ip.bind=0.0.0.0
-port=8888
environment:
- WEED_MASTER=master:9333
volumes:
- seaweedfs-filer:/data
depends_on:
- master
- volume
restart: unless-stopped
# # Secure the GUI with username/password
# labels:
# # htpasswd -nb admin admin
# - "traefik.http.middlewares.basic-auth.basicauth.users=admin:$$apr1$$aLLYxhdC$$ZAW26eJfBRC8qWjCkcZns."
# - "traefik.http.routers.service-name.middlewares=basic-auth"
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://localhost:8888"]
interval: 30s
timeout: 10s
retries: 3
deploy:
resources:
limits:
memory: 1G
reservations:
memory: 512M
expose:
- 8888
s3:
image: chrislusf/seaweedfs:4.02
command: >
-v=0
s3
-filer="filer:8888"
-ip.bind=0.0.0.0
-port=8333
environment:
- AWS_ACCESS_KEY_ID=${S3_ACCESS_KEY}
- AWS_SECRET_ACCESS_KEY=${S3_SECRET_KEY}
restart: unless-stopped
deploy:
resources:
limits:
memory: 512M
reservations:
memory: 256M
expose:
- 8333
volumes:
seaweedfs-master:
seaweedfs-volume:
seaweedfs-filer:

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -0,0 +1,27 @@
[variables]
main_domain = "${domain}"
filer_domain = "filer.${domain}"
master_domain = "master.${domain}"
s3_domain = "s3.${domain}"
[config]
mounts = []
[[config.domains]]
serviceName = "filer"
port = 8888
host = "${filer_domain}"
[[config.domains]]
serviceName = "master"
port = 9333
host = "${master_domain}"
[[config.domains]]
serviceName = "s3"
port = 8333
host = "${s3_domain}"
[config.env]
S3_ACCESS_KEY = "admin"
S3_SECRET_KEY = "${password:16}"

View File

@@ -5590,6 +5590,25 @@
"aggregator"
]
},
{
"id": "seaweedfs",
"name": "SeaweedFS",
"version": "latest",
"description": "SeaweedFS is a fast distributed storage system for blobs, objects, and files. Features S3-compatible API, POSIX FUSE mount, and WebDAV support.",
"logo": "seaweedfs.svg",
"links": {
"github": "https://github.com/seaweedfs/seaweedfs",
"website": "https://seaweedfs.com/",
"docs": "https://github.com/seaweedfs/seaweedfs/wiki"
},
"tags": [
"storage",
"s3",
"distributed",
"object-storage",
"file-system"
]
},
{
"id": "shlink",
"name": "Shlink",