Skip to content

Commit a7e8d87

Browse files
committed
Create a vanilla Dockerfile, as well as for Studios
1 parent c4bc1f5 commit a7e8d87

9 files changed

Lines changed: 63 additions & 23 deletions

File tree

.github/workflows/docker.yml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,17 @@ jobs:
4949
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
5050
with:
5151
context: .
52-
file: studios-template/Dockerfile
52+
file: docker/Dockerfile
5353
push: true
5454
tags: ${{ steps.meta.outputs.tags }}
5555
labels: ${{ steps.meta.outputs.labels }}
5656

57-
- name: Generate artifact attestation
58-
uses: actions/attest-build-provenance@v2
57+
- name: Build and push Studios image
58+
id: push-studios
59+
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
5960
with:
60-
subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}}
61-
subject-digest: ${{ steps.push.outputs.digest }}
62-
push-to-registry: true
61+
context: .
62+
file: docker/studios.Dockerfile
63+
push: true
64+
tags: studios-${{ steps.meta.outputs.tags }}
65+
labels: studios-${{ steps.meta.outputs.labels }}

README.md

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Gives new Node-RED node types for your automation workflows, which are designed
2323
- [Poll Data Link Files](#poll-data-link-files)
2424
- [Create a Seqera Studio](#create-studio)
2525

26-
> [!NOTE]
26+
> [!IMPORTANT]
2727
> This is an open-source project for community benefit. It is provided as-is and is not part of Seqera's officially supported toolset.
2828
2929
# Typical Use cases
@@ -33,7 +33,7 @@ Gives new Node-RED node types for your automation workflows, which are designed
3333
- Chain workflows, launching downstream automatically
3434
- (Bonus) Use with [Home Assistant](https://community.home-assistant.io/t/home-assistant-community-add-on-node-red/55023) to make your office lights go into disco mode when a pipeline completes 🪩 🕺🏻 🎉
3535

36-
> [!NOTE]
36+
> [!TIP]
3737
> This package includes several example flows which you can import and repurpose.
3838
> **See the [example docs](./docs/README.md) for more information.**
3939
@@ -53,25 +53,43 @@ Install via the Node-RED palette manager _or_ from the command line inside your
5353
npm install @seqera/node-red-seqera
5454
```
5555

56-
## Seqera Studios
56+
## Docker
5757

58-
This repository comes with a custom Docker image containing both Node-RED and the Seqera nodes, designed to run within
59-
[Seqera Studios](https://docs.seqera.io/platform-cloud/studios/overview).
58+
This repository comes with a custom Docker image containing both Node-RED and the Seqera nodes, so that you can quickly launch a complete instance of Node-RED with everything you need.
59+
60+
> [!NOTE]
61+
> This image is designed to be a reference only to get you started only.
62+
> You may want to customise the `docker/Dockerfile` and `docker/settings.js` files.
6063
61-
Simply create a new Studio with the _Template_ set to _Prebuilt container image_ and enter:
64+
The image can be found at (also with verioned tags):
6265

6366
```
6467
ghcr.io/seqeralabs/node-red-seqera:latest
6568
```
6669

70+
To run, you can use a Docker command such as the following:
71+
72+
```bash
73+
docker run -p 1880:1880 ghcr.io/seqeralabs/node-red-seqera:latest
74+
```
75+
76+
Please note that you will need to mount a local data folder to save progress, or save flows using _Projects_, in case you need to kill the container to upgrade or similar.
77+
See [the Node-RED documentation](https://nodered.org/docs/getting-started/docker) for more details.
78+
79+
## Seqera Studios
80+
81+
In addition to the base Docker image, the repo has an image specifically designed to run within [Seqera Studios](https://docs.seqera.io/platform-cloud/studios/overview).
82+
83+
To use, create a new Studio with the _Template_ set to _Prebuilt container image_ and enter:
84+
85+
```
86+
ghcr.io/seqeralabs/node-red-seqera:studios-latest
87+
```
88+
6789
Make sure that the studio is set to _Always keep the session running_.
6890

6991
Your new Studio should launch with a complete Node-RED instance that's ready for you to customise and use with Seqera automation.
7092

71-
> [!NOTE]
72-
> This image is designed to be a reference only to get you started only.
73-
> You may want to customise the `studios-template/Dockerfile` and `studios-template/settings.js` files.
74-
7593
## Example Flows
7694

7795
Once installed, example flows are available in the Node-RED import menu under _Import_ > _Examples_ > _@seqera/node-red-seqera_.

docker/Dockerfile

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Final image: Start from the official node-red image
2+
FROM nodered/node-red:latest-debian
3+
4+
# Copy the local package first
5+
COPY ./ /node-red-seqera/
6+
7+
# Copy package.json and install dependencies
8+
WORKDIR /node-red-data
9+
COPY ./docker/package.json /node-red-data
10+
RUN npm install --unsafe-perm --no-update-notifier --no-fund --only=production
11+
12+
# Custom settings, styling and flows
13+
COPY ./docker/settings.js /node-red-data/settings.js
14+
COPY ./docker/node-red-seqera.css /node-red-data/node-red-seqera.css
15+
COPY ./docker/node-red-seqera.svg /node-red-data/node-red-seqera.svg
16+
COPY ./docker/flows.json /node-red-data/flows.json
17+
18+
# Run Node-RED
19+
ENTRYPOINT ["/bin/bash", "-c", "node-red --userDir /node-red-data"]
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"name": "node-red-seqera-data-studios",
3-
"description": "Run Node-RED on Seqera Platform Studios",
2+
"name": "node-red-seqera-instance",
3+
"description": "Automate Seqera Platform with Node-RED",
44
"version": "0.0.1",
55
"private": true,
66
"scripts": {
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@ COPY ./ /node-red-seqera/
2424

2525
# Copy package.json to the WORKDIR so npm builds all of your added nodes modules
2626
WORKDIR /node-red-data
27-
COPY ./studios-template/package.json /node-red-data
27+
COPY ./docker/package.json /node-red-data
2828
RUN npm install --unsafe-perm --no-update-notifier --no-fund --only=production
2929

3030
# Copy _your_ Node-RED project files into place
31-
COPY ./studios-template/settings.js /node-red-data/settings.js
32-
COPY ./studios-template/node-red-seqera.css /node-red-data/node-red-seqera.css
33-
COPY ./studios-template/node-red-seqera.svg /node-red-data/node-red-seqera.svg
34-
COPY ./studios-template/flows.json /node-red-data/flows.json
31+
COPY ./docker/settings.js /node-red-data/settings.js
32+
COPY ./docker/node-red-seqera.css /node-red-data/node-red-seqera.css
33+
COPY ./docker/node-red-seqera.svg /node-red-data/node-red-seqera.svg
34+
COPY ./docker/flows.json /node-red-data/flows.json
3535

3636
# Default command to run node-red
3737
ENV LAST_MODIFIED="2025-05-16-01:55"

0 commit comments

Comments
 (0)