feat(service): add seaweedfs template (#7617)

Co-authored-by: 🏔️ Peak <122374094+peaklabs-dev@users.noreply.github.com>
This commit is contained in:
Christopher N. KATOYI 2026-01-10 10:43:20 -05:00 committed by GitHub
parent 75d10bb7bf
commit 9962ca8ba9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 87 additions and 0 deletions

BIN
public/seaweedfs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

View file

@ -0,0 +1,87 @@
# documentation: https://github.com/seaweedfs/seaweedfs
# slogan: SeaweedFS is a simple and highly scalable distributed file system. Compatible with S3, with an admin web interface.
# category: storage
# tags: object, storage, server, s3, api
# logo: svgs/garage.svg
# port: 8333
services:
seaweedfs-master:
image: chrislusf/seaweedfs:4.05
environment:
- SERVICE_URL_S3_8333
- AWS_ACCESS_KEY_ID=${SERVICE_USER_S3}
- AWS_SECRET_ACCESS_KEY=${SERVICE_PASSWORD_S3}
volumes:
- seaweedfs-s3-data:/data
- type: bind
source: ./base-config.json
target: /base-config.json
content: |
{
"identities": [
{
"name": "anonymous",
"actions": [
"Read"
]
},
{
"name": "admin",
"credentials": [
{
"accessKey": "env:AWS_ACCESS_KEY_ID",
"secretKey": "env:AWS_SECRET_ACCESS_KEY"
}
],
"actions": [
"Admin",
"Read",
"ReadAcp",
"List",
"Tagging",
"Write",
"WriteAcp"
]
}
]
}
entrypoint: |
sh -c '\
sed "s/env:AWS_ACCESS_KEY_ID/$AWS_ACCESS_KEY_ID/g" /base-config.json > /base1-config.json; \
sed "s/env:AWS_SECRET_ACCESS_KEY/$AWS_SECRET_ACCESS_KEY/g" /base1-config.json > /config.json; \
weed server -dir=/data -master.port=9333 -s3 -s3.port=8333 -s3.config=/config.json\
'
healthcheck:
test:
- CMD-SHELL
- "wget --spider -q http://0.0.0.0:8333; [ $$? -le 8 ]"
interval: 10s
timeout: 5s
retries: 10
seaweedfs-admin:
image: chrislusf/seaweedfs:4.05
environment:
- SERVICE_URL_ADMIN_23646
- SEAWEED_USER_ADMIN=${SERVICE_USER_ADMIN}
- SEAWEED_PASSWORD_ADMIN=${SERVICE_PASSWORD_ADMIN}
command:
- admin
- "-master=seaweedfs-master:9333"
- "-adminUser=${SEAWEED_USER_ADMIN}"
- "-adminPassword=${SEAWEED_PASSWORD_ADMIN}"
- "-port=23646"
- "-dataDir=/data"
volumes:
- seaweedfs-admin-data:/data
healthcheck:
test:
- CMD-SHELL
- "wget --spider -q http://0.0.0.0:23646; [ $$? -le 8 ]"
interval: 10s
timeout: 5s
retries: 10
depends_on:
seaweedfs-master:
condition: service_healthy