Pin Pi server stable image
This commit is contained in:
+4
-1
@@ -1,4 +1,7 @@
|
||||
QSFERA_RPI_IMAGE=qsfera-cloud-server:rpi5-local
|
||||
QSFERA_RPI_IMAGE=qsfera-cloud-server:7.0.0-rpi5-stable
|
||||
QSFERA_VERSION=7.0.0
|
||||
QSFERA_EDITION=stable
|
||||
QSFERA_BUILD_DATE=20260608
|
||||
QSFERA_RPI_HOST_PORT=9200
|
||||
QSFERA_RPI_CONFIG_PATH=/mnt/data/qsfera/cloud-server/config
|
||||
QSFERA_RPI_DATA_PATH=/mnt/data/qsfera/cloud-server/data
|
||||
|
||||
+11
-2
@@ -26,15 +26,21 @@ RUN make node-generate-prod
|
||||
|
||||
FROM golang:1.25-alpine AS build
|
||||
ARG TARGETARCH=arm64
|
||||
ARG QSFERA_VERSION=7.0.0
|
||||
ARG QSFERA_EDITION=stable
|
||||
ARG QSFERA_BUILD_DATE=20260608
|
||||
RUN apk add bash make git curl gcc musl-dev libc-dev binutils-gold inotify-tools vips-dev
|
||||
|
||||
COPY --from=generate /qsfera /qsfera
|
||||
|
||||
WORKDIR /qsfera/qsfera
|
||||
RUN make release-linux-docker-${TARGETARCH} ENABLE_VIPS=true DIST=/dist
|
||||
RUN make release-linux-docker-${TARGETARCH} ENABLE_VIPS=true DIST=/dist VERSION="${QSFERA_VERSION}" EDITION="${QSFERA_EDITION}" DATE="${QSFERA_BUILD_DATE}"
|
||||
|
||||
FROM alpine:3.23
|
||||
ARG TARGETARCH=arm64
|
||||
ARG QSFERA_VERSION=7.0.0
|
||||
ARG QSFERA_EDITION=stable
|
||||
ARG QSFERA_BUILD_DATE=20260608
|
||||
|
||||
RUN apk add --no-cache attr ca-certificates curl mailcap tree vips && \
|
||||
echo 'hosts: files dns' >| /etc/nsswitch.conf
|
||||
@@ -46,7 +52,10 @@ LABEL maintainer="QSfera" \
|
||||
org.opencontainers.image.description="КуСфера file-sync and share platform" \
|
||||
org.opencontainers.image.licenses="Apache-2.0" \
|
||||
org.opencontainers.image.documentation="" \
|
||||
org.opencontainers.image.source=""
|
||||
org.opencontainers.image.source="" \
|
||||
org.opencontainers.image.version="${QSFERA_VERSION}" \
|
||||
eu.qsfera.image.edition="${QSFERA_EDITION}" \
|
||||
eu.qsfera.image.build-date="${QSFERA_BUILD_DATE}"
|
||||
|
||||
ENTRYPOINT ["/usr/bin/qsfera"]
|
||||
CMD ["server"]
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
services:
|
||||
qsfera-cloud-server:
|
||||
container_name: qsfera-cloud-server
|
||||
image: ${QSFERA_RPI_IMAGE:-qsfera-cloud-server:rpi5-local}
|
||||
image: ${QSFERA_RPI_IMAGE:-qsfera-cloud-server:7.0.0-rpi5-stable}
|
||||
platform: linux/arm64
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
args:
|
||||
TARGETARCH: arm64
|
||||
QSFERA_VERSION: ${QSFERA_VERSION:-7.0.0}
|
||||
QSFERA_EDITION: ${QSFERA_EDITION:-stable}
|
||||
QSFERA_BUILD_DATE: ${QSFERA_BUILD_DATE:-20260608}
|
||||
restart: unless-stopped
|
||||
entrypoint:
|
||||
- /bin/sh
|
||||
|
||||
@@ -12,6 +12,9 @@ Files used for this deployment:
|
||||
## What This Runs
|
||||
|
||||
- QSfera server from this `Server` source tree.
|
||||
- A pinned production image tag by default: `qsfera-cloud-server:7.0.0-rpi5-stable`.
|
||||
- Build metadata injected into the binary through Docker build args:
|
||||
`QSFERA_VERSION`, `QSFERA_EDITION`, and `QSFERA_BUILD_DATE`.
|
||||
- QSfera config persisted under `/etc/qsfera` inside the container.
|
||||
- QSfera data persisted under `/var/lib/qsfera` inside the container.
|
||||
- Host-side config and data paths controlled by `QSFERA_RPI_CONFIG_PATH` and
|
||||
@@ -26,6 +29,8 @@ Files used for this deployment:
|
||||
3. Use a 64-bit OS. The compose file sets `platform: linux/arm64`, and the Dockerfile builds with `TARGETARCH=arm64`.
|
||||
4. Put `QSFERA_RPI_CONFIG_PATH` and `QSFERA_RPI_DATA_PATH` on durable storage, not on a nearly full SD-card root filesystem.
|
||||
5. Set `OC_URL` to the public HTTPS URL used by clients and the reverse proxy.
|
||||
6. Keep `QSFERA_EDITION=stable` and a concrete `QSFERA_VERSION` for production
|
||||
rollouts. Leaving those unset falls back to the defaults in the compose file.
|
||||
|
||||
## Start
|
||||
|
||||
@@ -36,6 +41,13 @@ cp .env.example .env
|
||||
docker compose -f docker-compose.rpi5.yml up -d --build
|
||||
```
|
||||
|
||||
Verify the image metadata before rollout:
|
||||
|
||||
```bash
|
||||
docker compose -f docker-compose.rpi5.yml build
|
||||
docker run --rm --entrypoint /usr/bin/qsfera qsfera-cloud-server:7.0.0-rpi5-stable version --skip-services
|
||||
```
|
||||
|
||||
## Stop
|
||||
|
||||
```bash
|
||||
@@ -82,6 +94,7 @@ container uses:
|
||||
|
||||
- host config: `/mnt/data/qsfera/cloud-server/config`
|
||||
- host data: `/mnt/data/qsfera/cloud-server/data`
|
||||
- image: `qsfera-cloud-server:7.0.0-rpi5-stable`
|
||||
- public URL: `https://qsfera.kusoft.xyz`
|
||||
- loopback port: `127.0.0.1:9200`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user