Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Start from the latest n8n image
- FROM n8nio/n8n:latest
- # Install dependencies required for Pyenv, Python builds, FFmpeg, and nano
- USER root
- RUN apk add --no-cache bash curl git make gcc g++ zlib-dev bzip2-dev readline-dev sqlite-dev openssl-dev tk-dev libffi-dev linux-headers xz-dev ffmpeg nano
- # Set environment variables for Pyenv
- ENV PYENV_ROOT="/home/node/.pyenv"
- ENV PATH="$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH"
- # Install Pyenv for the 'node' user
- USER node
- RUN curl https://pyenv.run | bash
- # Set up Pyenv in the shell environment for the 'node' user
- RUN echo 'export PYENV_ROOT="$HOME/.pyenv"' >> /home/node/.bashrc && \
- echo 'export PATH="$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH"' >> /home/node/.bashrc && \
- echo 'eval "$(pyenv init --path)"' >> /home/node/.bashrc && \
- echo 'eval "$(pyenv init -)"' >> /home/node/.bashrc && \
- echo 'eval "$(pyenv virtualenv-init -)"' >> /home/node/.bashrc
- # Install multiple Python versions as the 'node' user
- RUN bash -c "source /home/node/.bashrc && \
- pyenv install 3.9.19 && \
- pyenv install 3.10.14 && \
- pyenv install 3.11.9 && \
- pyenv install 3.12.6 && \
- pyenv global 3.12.6"
- # Create a note with details about the installed tools and build date
- RUN echo '### Custom n8n Docker Image Information ###' > /home/node/BUILD_INFO.txt && \
- echo "Built on: $(date)" >> /home/node/BUILD_INFO.txt && \
- echo "Installed Python versions: 3.9.19, 3.10.14, 3.11.9, 3.12.6 (default: 3.12.6)" >> /home/node/BUILD_INFO.txt && \
- echo "FFmpeg installed" >> /home/node/BUILD_INFO.txt && \
- echo "Pyenv installed at $PYENV_ROOT" >> /home/node/BUILD_INFO.txt && \
- echo "Nano installed" >> /home/node/BUILD_INFO.txt && \
- chown node:node /home/node/BUILD_INFO.txt
- # Set the user back to 'node' (default user for n8n)
- USER node
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement