Files
alpine-packages/packaging/alpine/local/seaweedfs/README.md
T

3.2 KiB

SeaweedFS Alpine Package

Builds SeaweedFS 4.47 from its upstream source release for x86_64 and aarch64. The package intentionally builds the upstream baseline feature set, without optional build tags. Versioned Go and Cargo vendor archives make the build fully offline after source retrieval.

Package Commands

When updating SeaweedFS, refresh the vendor archives before generating the config scaffolds and checksums:

PACKAGE_DIR=packaging/alpine/local/seaweedfs \
  packaging/alpine/local/seaweedfs/scripts/update-vendor-sources.sh
ALPINE_PACKAGE=seaweedfs mise run apk:update-generated
ALPINE_PACKAGE=seaweedfs mise run apk:checksum

The refresh command generates every SeaweedFS 4.47 scaffold configuration: admin, credential, filer, master, volume, notification, replication, security, and shell.

Build:

ALPINE_PACKAGE=seaweedfs mise run apk:build

Install-test local build:

ALPINE_PACKAGE=seaweedfs SKIP_BUILD=1 mise run apk:test-install

Install Node Roles

Single-node install:

apk add seaweedfs \
  seaweedfs-master-openrc \
  seaweedfs-volume-openrc \
  seaweedfs-filer-openrc

Role-specific installs:

apk add seaweedfs seaweedfs-master-openrc
apk add seaweedfs seaweedfs-volume-openrc
apk add seaweedfs seaweedfs-filer-openrc

Available OpenRC role packages:

seaweedfs-master-openrc   -> /etc/init.d/seaweedfs.master
seaweedfs-volume-openrc   -> /etc/init.d/seaweedfs.volume
seaweedfs-filer-openrc    -> /etc/init.d/seaweedfs.filer
seaweedfs-s3-openrc       -> /etc/init.d/seaweedfs.s3
seaweedfs-webdav-openrc   -> /etc/init.d/seaweedfs.webdav
seaweedfs-sftp-openrc     -> /etc/init.d/seaweedfs.sftp
seaweedfs-admin-openrc    -> /etc/init.d/seaweedfs.admin
seaweedfs-worker-openrc   -> /etc/init.d/seaweedfs.worker
seaweedfs-worker-lance-openrc -> /etc/init.d/seaweedfs.worker-lance

Replace Alpine's old generic OpenRC package before installing a role split:

apk del seaweedfs-openrc
apk add seaweedfs seaweedfs-master-openrc

Configure Services

Runtime paths:

/usr/bin/weed
/etc/seaweedfs/*.toml
/etc/conf.d/seaweedfs.*
/etc/init.d/seaweedfs.*

Edit /etc/conf.d/seaweedfs.<role> for flags. The package supplies a small set of safe defaults in /etc/seaweedfs/; the complete upstream-generated scaffold configs are available at:

/usr/share/doc/seaweedfs/examples/

Copy and customize a scaffold file only when enabling its related feature.

Enable services:

rc-update add seaweedfs.master default
rc-service seaweedfs.master start

rc-update add seaweedfs.volume default
rc-service seaweedfs.volume start

rc-update add seaweedfs.filer default
rc-service seaweedfs.filer start

# Optional: Lance table maintenance (requires a Lance namespace endpoint)
apk add seaweedfs-worker-lance-openrc
rc-update add seaweedfs.worker-lance default
rc-service seaweedfs.worker-lance start

Check status:

weed version
rc-service seaweedfs.master status

Optional Packages

Docs and examples:

apk add seaweedfs-doc

Bash completion:

apk add bash-completion seaweedfs-bash-completion

Upgrade Or Pin

Upgrade:

apk upgrade seaweedfs
rc-service seaweedfs.master restart

Pin:

apk add seaweedfs=4.47-r3