Use Flood v4.16.2 with Node 24 and retain startup validation
This commit is contained in:
1 parent
de75459e97
commit
cb32b760a5
3 files changed
+12
-13
No files matched your search
@@ -6,7 +6,7 @@ on:
|
|||||||
flood_version:
|
flood_version:
|
||||||
description: 'jesec/flood release tag'
|
description: 'jesec/flood release tag'
|
||||||
required: true
|
required: true
|
||||||
default: 'v4.7.0'
|
default: 'v4.16.2'
|
||||||
type: string
|
type: string
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|||||||
+6
-6
@@ -2,7 +2,7 @@
|
|||||||
# Build from a clean upstream release checkout using the Gitea workflow.
|
# Build from a clean upstream release checkout using the Gitea workflow.
|
||||||
|
|
||||||
ARG BUILDPLATFORM=amd64
|
ARG BUILDPLATFORM=amd64
|
||||||
ARG NODE_IMAGE=docker.io/node:22-alpine3.24
|
ARG NODE_IMAGE=docker.io/node:24-alpine3.24
|
||||||
|
|
||||||
FROM --platform=$BUILDPLATFORM ${NODE_IMAGE} as nodebuild
|
FROM --platform=$BUILDPLATFORM ${NODE_IMAGE} as nodebuild
|
||||||
|
|
||||||
@@ -11,12 +11,12 @@ WORKDIR /usr/src/app/
|
|||||||
# Copy project files
|
# Copy project files
|
||||||
COPY . ./
|
COPY . ./
|
||||||
|
|
||||||
# Flood v4.7.0 uses package-lock.json, not pnpm.
|
# Use the package manager and lockfile declared by the upstream release.
|
||||||
RUN npm ci --legacy-peer-deps --omit=optional
|
RUN npm install -g corepack && corepack enable && corepack install
|
||||||
|
RUN pnpm install --frozen-lockfile
|
||||||
|
|
||||||
# The v4.7 Webpack toolchain needs legacy hashing with modern Node/OpenSSL.
|
# Build Flood server and client assets.
|
||||||
# This option applies only to asset compilation, not the running server.
|
RUN npm run build
|
||||||
RUN NODE_OPTIONS=--openssl-legacy-provider npm run build-assets
|
|
||||||
|
|
||||||
# Now get the clean Node.js image
|
# Now get the clean Node.js image
|
||||||
FROM ${NODE_IMAGE} as flood
|
FROM ${NODE_IMAGE} as flood
|
||||||
|
|||||||
@@ -10,11 +10,11 @@ Git provider. Changes are reviewed and applied by the maintainer on Gitea.
|
|||||||
Gitea Actions publishes `docker.io/k2patel/floodui:latest` only on manual runs.
|
Gitea Actions publishes `docker.io/k2patel/floodui:latest` only on manual runs.
|
||||||
Select `main` in Actions → Build and Push Custom Flood Image → Run workflow
|
Select `main` in Actions → Build and Push Custom Flood Image → Run workflow
|
||||||
and set the required `flood_version` release tag. The configured release is
|
and set the required `flood_version` release tag. The configured release is
|
||||||
`v4.7.0`. Repository pushes do not trigger builds.
|
`v4.16.2`. Repository pushes do not trigger builds.
|
||||||
|
|
||||||
This is a Flood-only image using the custom `Dockerfile.client`: it runs the
|
This is a Flood-only image using the custom `Dockerfile.client`: it runs the
|
||||||
Flood web UI/API and connects to an external torrent service. It does not bundle
|
Flood web UI/API and connects to an external torrent service. It does not bundle
|
||||||
or start rTorrent. The Dockerfile uses the v4.7 npm lockfile and builds client
|
or start rTorrent. The Dockerfile uses the upstream pnpm lockfile and builds the server and client
|
||||||
assets; changing release families may require updating the build tooling.
|
assets; changing release families may require updating the build tooling.
|
||||||
|
|
||||||
Set Actions secrets `DOCKER_USERNAME` and `DOCKER_TOKEN` with Docker Hub write
|
Set Actions secrets `DOCKER_USERNAME` and `DOCKER_TOKEN` with Docker Hub write
|
||||||
@@ -24,9 +24,8 @@ runner image store, and the temporary builder and cache are removed afterward.
|
|||||||
No image archives or build records are uploaded to Gitea, and no local container
|
No image archives or build records are uploaded to Gitea, and no local container
|
||||||
builds are required.
|
builds are required.
|
||||||
|
|
||||||
Base image: Node.js 22 on Alpine Linux 3.24 stable (`node:22-alpine3.24`),
|
Base image: Node.js 24 on Alpine Linux 3.24 stable (`node:24-alpine3.24`),
|
||||||
including the latest patch updates in those release series.
|
including the latest patch updates in those release series.
|
||||||
|
|
||||||
Flood 4.7 requires Node 22 because its legacy SPDY dependency uses an internal
|
The image build starts the actual Flood server and requires HTTP 200 before
|
||||||
HTTP parser removed in Node 24. The image build starts the actual Flood server
|
publishing; it does not start a torrent daemon.
|
||||||
and requires HTTP 200 before publishing; it does not start a torrent daemon.
|
|
||||||
Reference in new issue
Block a user