Files
Joachim Schlöffel c9543e113b
Build Alpine Packages / preflight (pull_request) Successful in 14s
Build Alpine Packages / build (gitea) (pull_request) Successful in 1m0s
Build Alpine Packages / build (lavinmq) (pull_request) Successful in 2m51s
Build Alpine Packages / build (nifi) (pull_request) Successful in 5s
Build Alpine Packages / build (seaweedfs) (pull_request) Successful in 39m45s
Build Alpine Packages / build (greptimedb) (pull_request) Successful in 1h31m44s
Build Alpine Packages / verify-and-publish (pull_request) Successful in 1m42s
add logrotate subpackages
2026-10-06 22:39:50 +02:00

157 lines
3.3 KiB
Markdown

# SeaweedFS Alpine Package
Builds SeaweedFS 4.48 from its upstream source release for `x86_64` and
`aarch64`. The package intentionally builds the upstream baseline feature set,
with the `sqlite`, `rclone`, and `gocdk` optional Go build tags enabled. Go and
Cargo dependencies are resolved from the versions pinned in the upstream
`go.sum` and `Cargo.lock` files.
## Package Commands
When updating SeaweedFS, generate the config scaffolds and refresh checksums:
```sh
ALPINE_PACKAGE=seaweedfs mise run apk:update-generated
ALPINE_PACKAGE=seaweedfs mise run apk:checksum
```
The refresh command generates every SeaweedFS scaffold configuration:
`admin`, `credential`, `filer`, `master`, `volume`, `notification`,
`replication`, `security`, and `shell`.
Build:
```sh
ALPINE_PACKAGE=seaweedfs mise run apk:build
```
Install-test local build:
```sh
ALPINE_PACKAGE=seaweedfs SKIP_BUILD=1 mise run apk:test-install
```
## Install Node Roles
Single-node install:
```sh
apk add seaweedfs \
seaweedfs-master-openrc \
seaweedfs-volume-openrc \
seaweedfs-filer-openrc
```
Role-specific installs:
```sh
apk add seaweedfs seaweedfs-master-openrc
apk add seaweedfs seaweedfs-volume-openrc
apk add seaweedfs seaweedfs-filer-openrc
```
Available OpenRC role packages:
```text
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:
```sh
apk del seaweedfs-openrc
apk add seaweedfs seaweedfs-master-openrc
```
## Configure Services
Runtime paths:
```text
/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:
```text
/usr/share/doc/seaweedfs/examples/
```
Copy and customize a scaffold file only when enabling its related feature.
Enable services:
```sh
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:
```sh
weed version
rc-service seaweedfs.master status
```
## Optional Packages
Docs and examples:
```sh
apk add seaweedfs-doc
```
Bash completion:
```sh
apk add bash-completion seaweedfs-bash-completion
```
Log rotation for the default OpenRC service logs:
```sh
apk add seaweedfs-logrotate
```
This rotates `/var/log/seaweedfs/seaweedfs.*.log` daily and retains 14
compressed archives.
## Upgrade Or Pin
Upgrade:
```sh
apk upgrade seaweedfs
rc-service seaweedfs.master restart
```
Pin:
```sh
apk add seaweedfs=4.47-r3
```