Files
alpine-packages/packaging/alpine/local/seaweedfs/seaweedfs.initd
T
fspjo 1716f42970
Build Alpine Packages / preflight (push) Successful in 15s
Build Alpine Packages / build (gitea) (push) Successful in 4s
Build Alpine Packages / build (greptimedb) (push) Successful in 5s
Build Alpine Packages / build (lavinmq) (push) Successful in 4s
Build Alpine Packages / build (seaweedfs) (push) Successful in 34m15s
Build Alpine Packages / verify-and-publish (push) Successful in 1m15s
update package build process (#12)
Reviewed-on: #12
2026-10-02 09:16:46 +02:00

94 lines
2.8 KiB
Plaintext

#!/sbin/openrc-run
service_name="${RC_SVCNAME#seaweedfs.}"
description="SeaweedFS ${service_name} service"
command="/usr/bin/weed"
command_user="${SEAWEEDFS_USER:-seaweedfs}:${SEAWEEDFS_GROUP:-seaweedfs}"
command_background="yes"
# SeaweedFS performs a graceful shutdown, including a 10-second final heartbeat.
# The OpenRC default stop timeout can expire before that work has completed.
retry="TERM/30/KILL/5"
pidfile="/run/seaweedfs/${RC_SVCNAME}.pid"
output_log="${SEAWEEDFS_LOG:-/var/log/seaweedfs/${RC_SVCNAME}.log}"
error_log="${SEAWEEDFS_ERRLOG:-/var/log/seaweedfs/${RC_SVCNAME}.log}"
build_command_args() {
command_args="$service_name"
data_dir=""
cache_dir=""
case "$service_name" in
admin)
data_dir="${SEAWEEDFS_DATA_DIR:-/var/lib/seaweedfs/admin}"
command_args="$command_args -master=${SEAWEEDFS_MASTER:-localhost:9333} -dataDir=${data_dir}"
;;
filer)
data_dir="${SEAWEEDFS_DATA_DIR:-/var/lib/seaweedfs/filer}"
command_args="$command_args -master=${SEAWEEDFS_MASTER:-localhost:9333} -defaultStoreDir=${data_dir}"
;;
master)
data_dir="${SEAWEEDFS_DATA_DIR:-/var/lib/seaweedfs/master}"
command_args="$command_args -mdir=${data_dir} -peers=${SEAWEEDFS_PEERS:-none}"
;;
s3)
command_args="$command_args -filer=${SEAWEEDFS_FILER:-localhost:8888}"
;;
sftp)
command_args="$command_args -filer=${SEAWEEDFS_FILER:-localhost:8888}"
;;
volume)
data_dir="${SEAWEEDFS_DATA_DIR:-/var/lib/seaweedfs/volume}"
command_args="$command_args -dir=${data_dir} -max=${SEAWEEDFS_VOLUME_MAX:-0} -master=${SEAWEEDFS_MASTER:-localhost:9333}"
;;
webdav)
cache_dir="${SEAWEEDFS_CACHE_DIR:-/var/cache/seaweedfs/webdav}"
command_args="$command_args -filer=${SEAWEEDFS_FILER:-localhost:8888} -cacheDir=${cache_dir}"
;;
worker)
data_dir="${SEAWEEDFS_DATA_DIR:-/var/lib/seaweedfs/worker}"
command_args="$command_args -admin=${SEAWEEDFS_ADMIN:-localhost:23646} -workingDir=${data_dir}"
;;
worker-lance)
command="/usr/bin/weed-worker"
command_args="--admin ${SEAWEEDFS_ADMIN:-localhost:23646} --namespace ${SEAWEEDFS_LANCE_NAMESPACE:-http://localhost:9101}"
;;
esac
command_args="$command_args ${SEAWEEDFS_OPTS:-}"
}
build_command_args
depend() {
need net
case "$service_name" in
volume|filer|admin)
after seaweedfs.master
;;
s3|webdav|sftp)
after seaweedfs.filer
;;
worker|worker-lance)
after seaweedfs.admin
;;
esac
}
start_pre() {
checkpath -d -m 0755 -o "${SEAWEEDFS_USER:-seaweedfs}:${SEAWEEDFS_GROUP:-seaweedfs}" \
/run/seaweedfs \
/var/log/seaweedfs \
/var/lib/seaweedfs
if [ -n "$data_dir" ]; then
checkpath -d -m 0750 -o "${SEAWEEDFS_USER:-seaweedfs}:${SEAWEEDFS_GROUP:-seaweedfs}" \
"$data_dir"
fi
if [ -n "$cache_dir" ]; then
checkpath -d -m 0750 -o "${SEAWEEDFS_USER:-seaweedfs}:${SEAWEEDFS_GROUP:-seaweedfs}" \
"$cache_dir"
fi
}