Build Flood v4.7.0 in client-only mode with manual release selection
This commit is contained in:
1 parent
8f10b48700
commit
1c113788ed
3 files changed
+19
-24
No files matched your search
@@ -1,14 +1,12 @@
|
|||||||
name: Build and Push Custom Flood Image
|
name: Build and Push Custom Flood Image
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
|
||||||
branches: [main]
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
flood_version:
|
flood_version:
|
||||||
description: 'jesec/flood release tag'
|
description: 'jesec/flood release tag'
|
||||||
required: true
|
required: true
|
||||||
default: 'v4.16.2'
|
default: 'v4.7.0'
|
||||||
type: string
|
type: string
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -26,8 +24,9 @@ jobs:
|
|||||||
|
|
||||||
- name: Fetch Flood release
|
- name: Fetch Flood release
|
||||||
env:
|
env:
|
||||||
FLOOD_VERSION: ${{ github.event.inputs.flood_version || 'v4.16.2' }}
|
FLOOD_VERSION: ${{ github.event.inputs.flood_version }}
|
||||||
run: |
|
run: |
|
||||||
|
test -n "$FLOOD_VERSION" || { echo "flood_version is required" >&2; exit 1; }
|
||||||
git check-ref-format "refs/tags/$FLOOD_VERSION"
|
git check-ref-format "refs/tags/$FLOOD_VERSION"
|
||||||
git init flood-repo
|
git init flood-repo
|
||||||
git -C flood-repo fetch --depth=1 https://github.com/jesec/flood.git "refs/tags/$FLOOD_VERSION"
|
git -C flood-repo fetch --depth=1 https://github.com/jesec/flood.git "refs/tags/$FLOOD_VERSION"
|
||||||
|
|||||||
+7
-17
@@ -1,14 +1,5 @@
|
|||||||
# WARNING:
|
# Flood UI only: connects to an external torrent service. No bundled rTorrent.
|
||||||
#
|
# Build from a clean upstream release checkout using the Gitea workflow.
|
||||||
# For development and debugging only. Use Dockerfile.release for production.
|
|
||||||
#
|
|
||||||
# This image bundles rTorrent for easier debugging. It is not started by default.
|
|
||||||
# Use --rtorrent argument if you wish to start the bundled rTorrent.
|
|
||||||
# For production, use rtorrent-flood instead.
|
|
||||||
#
|
|
||||||
# This Dockerfile uses contents of current folder which might contain
|
|
||||||
# secrets, uncommitted changes or other sensitive information. DO NOT
|
|
||||||
# publish the result image unless it was composed in a clean environment.
|
|
||||||
|
|
||||||
ARG BUILDPLATFORM=amd64
|
ARG BUILDPLATFORM=amd64
|
||||||
ARG NODE_IMAGE=docker.io/node:24-alpine3.24
|
ARG NODE_IMAGE=docker.io/node:24-alpine3.24
|
||||||
@@ -20,13 +11,12 @@ WORKDIR /usr/src/app/
|
|||||||
# Copy project files
|
# Copy project files
|
||||||
COPY . ./
|
COPY . ./
|
||||||
|
|
||||||
RUN npm i -g corepack && corepack enable && corepack install
|
# Flood v4.7.0 uses package-lock.json, not pnpm.
|
||||||
|
RUN npm ci --legacy-peer-deps --omit=optional
|
||||||
|
|
||||||
# Fetch dependencies from npm
|
# The v4.7 Webpack toolchain needs legacy hashing with modern Node/OpenSSL.
|
||||||
RUN pnpm install --frozen-lockfile
|
# This option applies only to asset compilation, not the running server.
|
||||||
|
RUN NODE_OPTIONS=--openssl-legacy-provider npm run build-assets
|
||||||
# Build assets
|
|
||||||
RUN npm run build
|
|
||||||
|
|
||||||
# Now get the clean Node.js image
|
# Now get the clean Node.js image
|
||||||
FROM ${NODE_IMAGE} as flood
|
FROM ${NODE_IMAGE} as flood
|
||||||
|
|||||||
@@ -7,9 +7,15 @@ Report issues at https://github.com/k2patel/docker-flood-client/issues.
|
|||||||
For contributions, open an issue with a link to your branch or patch on another
|
For contributions, open an issue with a link to your branch or patch on another
|
||||||
Git provider. Changes are reviewed and applied by the maintainer on Gitea.
|
Git provider. Changes are reviewed and applied by the maintainer on Gitea.
|
||||||
|
|
||||||
Gitea Actions publishes `docker.io/k2patel/floodui:latest` on pushes to `main`
|
Gitea Actions publishes `docker.io/k2patel/floodui:latest` only on manual runs.
|
||||||
and manual runs. The default Flood release is `v4.16.2`; manual runs can select
|
Select `main` in Actions → Build and Push Custom Flood Image → Run workflow
|
||||||
another release with `flood_version`. Builds use the custom `Dockerfile.client`.
|
and set the required `flood_version` release tag. The configured release is
|
||||||
|
`v4.7.0`. Repository pushes do not trigger builds.
|
||||||
|
|
||||||
|
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
|
||||||
|
or start rTorrent. The Dockerfile uses the v4.7 npm lockfile and builds client
|
||||||
|
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
|
||||||
access to `k2patel/floodui`. Builds run remotely on the Kubernetes runner for
|
access to `k2patel/floodui`. Builds run remotely on the Kubernetes runner for
|
||||||
|
|||||||
Reference in new issue
Block a user