mirror of
https://github.com/n8n-io/n8n.git
synced 2025-03-05 20:50:17 -08:00
🐳 Build Raspberry Pi Docker image correctly
This commit is contained in:
parent
559afb488b
commit
b4b65bb906
28
.github/workflows/docker-images-rpi.yml
vendored
Normal file
28
.github/workflows/docker-images-rpi.yml
vendored
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
name: Docker Image CI - Rpi
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- n8n@*
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
armv7_job:
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
name: Build on ARMv7 (Rpi)
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
- name: Get the version
|
||||||
|
id: vars
|
||||||
|
run: echo ::set-output name=tag::$(echo ${GITHUB_REF:14})
|
||||||
|
|
||||||
|
- name: Log in to Docker registry
|
||||||
|
run: docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: crazy-max/ghaction-docker-buildx@v1
|
||||||
|
with:
|
||||||
|
version: latest
|
||||||
|
- name: Run Buildx (push image)
|
||||||
|
if: success()
|
||||||
|
run: |
|
||||||
|
docker buildx build --platform linux/arm/v7 --build-arg N8N_VERSION=${{steps.vars.outputs.tag}} -t n8nio/n8n:${{steps.vars.outputs.tag}}-rpi --output type=image,push=true docker/images/n8n-rpi
|
5
.github/workflows/docker-images.yml
vendored
5
.github/workflows/docker-images.yml
vendored
|
@ -32,8 +32,3 @@ jobs:
|
||||||
run: docker build --build-arg N8N_VERSION=${{steps.vars.outputs.tag}} -t n8nio/n8n:${{steps.vars.outputs.tag}}-ubuntu docker/images/n8n-ubuntu
|
run: docker build --build-arg N8N_VERSION=${{steps.vars.outputs.tag}} -t n8nio/n8n:${{steps.vars.outputs.tag}}-ubuntu docker/images/n8n-ubuntu
|
||||||
- name: Push Docker image of version (Ubuntu)
|
- name: Push Docker image of version (Ubuntu)
|
||||||
run: docker push n8nio/n8n:${{steps.vars.outputs.tag}}-ubuntu
|
run: docker push n8nio/n8n:${{steps.vars.outputs.tag}}-ubuntu
|
||||||
|
|
||||||
- name: Build the Docker image of version (Rpi)
|
|
||||||
run: docker build --build-arg N8N_VERSION=${{steps.vars.outputs.tag}} -t n8nio/n8n:${{steps.vars.outputs.tag}}-rpi docker/images/n8n-rpi
|
|
||||||
- name: Push Docker image of version (Rpi)
|
|
||||||
run: docker push n8nio/n8n:${{steps.vars.outputs.tag}}-rpi
|
|
||||||
|
|
49
docker/images/n8n-custom/Dockerfile copy
Normal file
49
docker/images/n8n-custom/Dockerfile copy
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
FROM node:12.16-alpine as builder
|
||||||
|
# FROM node:12.16-alpine
|
||||||
|
|
||||||
|
# Update everything and install needed dependencies
|
||||||
|
RUN apk add --update graphicsmagick tzdata git tini su-exec
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
# Install all needed dependencies
|
||||||
|
RUN apk --update add --virtual build-dependencies python build-base ca-certificates && \
|
||||||
|
npm_config_user=root npm install -g full-icu lerna
|
||||||
|
|
||||||
|
ENV NODE_ICU_DATA /usr/local/lib/node_modules/full-icu
|
||||||
|
|
||||||
|
WORKDIR /data
|
||||||
|
|
||||||
|
COPY lerna.json .
|
||||||
|
COPY package.json .
|
||||||
|
COPY packages/cli/ ./packages/cli/
|
||||||
|
COPY packages/core/ ./packages/core/
|
||||||
|
COPY packages/editor-ui/ ./packages/editor-ui/
|
||||||
|
COPY packages/nodes-base/ ./packages/nodes-base/
|
||||||
|
COPY packages/workflow/ ./packages/workflow/
|
||||||
|
RUN rm -rf node_modules packages/*/node_modules packages/*/dist
|
||||||
|
|
||||||
|
RUN npm install --loglevel notice
|
||||||
|
RUN lerna bootstrap --hoist
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
|
||||||
|
FROM node:12.16-alpine
|
||||||
|
|
||||||
|
WORKDIR /data
|
||||||
|
|
||||||
|
# Install all needed dependencies
|
||||||
|
RUN npm_config_user=root npm install -g full-icu
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
ENV NODE_ICU_DATA /usr/local/lib/node_modules/full-icu
|
||||||
|
|
||||||
|
COPY --from=builder /data ./
|
||||||
|
|
||||||
|
RUN apk add --update graphicsmagick tzdata git tini su-exec
|
||||||
|
|
||||||
|
COPY docker/images/n8n-dev/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
ENTRYPOINT ["tini", "--", "/docker-entrypoint.sh"]
|
||||||
|
|
||||||
|
EXPOSE 5678/tcp
|
23
docker/images/n8n-rhel7/Dockerfile
Normal file
23
docker/images/n8n-rhel7/Dockerfile
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
FROM richxsl/rhel7
|
||||||
|
|
||||||
|
ARG N8N_VERSION
|
||||||
|
|
||||||
|
RUN if [ -z "$N8N_VERSION" ] ; then echo "The N8N_VERSION argument is missing!" ; exit 1; fi
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
yum install -y gcc-c++ make
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
curl -sL https://rpm.nodesource.com/setup_12.x | sudo -E bash -
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
sudo yum install nodejs
|
||||||
|
|
||||||
|
# Set a custom user to not have n8n run as root
|
||||||
|
USER root
|
||||||
|
|
||||||
|
RUN npm_config_user=root npm install -g n8n@${N8N_VERSION}
|
||||||
|
|
||||||
|
WORKDIR /data
|
||||||
|
|
||||||
|
CMD "n8n"
|
16
docker/images/n8n-rhel7/README.md
Normal file
16
docker/images/n8n-rhel7/README.md
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
## Build Docker-Image
|
||||||
|
|
||||||
|
```
|
||||||
|
docker build --build-arg N8N_VERSION=<VERSION> -t n8nio/n8n:<VERSION> .
|
||||||
|
|
||||||
|
# For example:
|
||||||
|
docker build --build-arg N8N_VERSION=0.36.1 -t n8nio/n8n:0.36.1-rhel7 .
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
docker run -it --rm \
|
||||||
|
--name n8n \
|
||||||
|
-p 5678:5678 \
|
||||||
|
n8nio/n8n:0.25.0-ubuntu
|
||||||
|
```
|
Loading…
Reference in a new issue