Add Dockerfile, TrueNAS SCALE compose file and image publishing on release
CI / test (push) Successful in 57s
Release / release (push) Successful in 2m34s

This commit is contained in:
Veillax committed 2026-10-27 18:36:06 -06:00
1 parent 6ff6f5f4c7
commit e0694b2374
5 files changed
+79 -6

No files matched your search

+3 -1
View File
@@ -4,6 +4,7 @@
# deploy/build.sh [version] version defaults to `git describe`
#
# Output:
# dist/bin/<os>_<arch>/beach the raw binary (the Docker image uses the linux ones)
# dist/beach_<version>_<os>_<arch>.tar.gz or .zip
# dist/SHA256SUMS
#
@@ -17,7 +18,7 @@ VERSION=${1:-$(git describe --tags --always 2>/dev/null || echo dev)}
TARGETS=${TARGETS:-"linux/amd64 windows/amd64"}
rm -rf dist
mkdir -p dist/stage
mkdir -p dist/bin dist/stage
for t in $TARGETS; do
os=${t%/*}
arch=${t#*/}
@@ -29,6 +30,7 @@ for t in $TARGETS; do
for c in $CMDS; do
echo "building $c $VERSION for $os/$arch"
CGO_ENABLED=0 GOOS=$os GOARCH=$arch go build -trimpath -ldflags "-s -w -X main.version=$VERSION" -o "$stage/$c$ext" "./cmd/$c"
mkdir -p "dist/bin/${os}_${arch}" && cp "$stage/$c$ext" "dist/bin/${os}_${arch}/"
done
for f in LICENSE README.md; do
[ -f "$f" ] && cp "$f" "$stage/"
+15
View File
@@ -0,0 +1,15 @@
# Beach as a TrueNAS SCALE app (Apps -> Discover Apps -> Custom App -> Install via YAML),
# or on any Docker host. Change the image to match your registry and the release you want.
services:
beach:
image: git.veillax.com/veillax/beach:latest
restart: unless-stopped
ports:
- "8095:8095"
volumes:
# Beach's database. On TrueNAS use a dataset path, e.g. /mnt/<pool>/apps/beach
- /mnt/tank/apps/beach:/data
# Lets Beach list, start and stop containers. This gives it control of Docker.
- /var/run/docker.sock:/var/run/docker.sock
# Only for the optional smartctl source; TrueNAS's API already reports SMART data.
# privileged: true