N8n installation in offline environment ( no internet, no apt-update, no )

Dear community, n8n team,

It would be great if there would be instructions on how to install n8n in a non-connected offline environment. In my specific case, I have attempted to install it in an environment that is protected and considered as “crown jewels”. This means that no outbound interconnect connections are allowed.

I quickly realsed that the manual of instructions did not help as most of them consider there is access.

I have tried to desktop application => Unfortunately, it did not work in a stable manner on this Windows Server 2019 version

I have tried to install docker => This suggests i pull image from docker hub , which requires internet access .
I have tried to manually install the docker image => This supposed to have a Linux version of the docker installed. This is not the case of the docker installed in windows ( docker desktop on WSL1 which is supported by windows server 2019)

I have attempted to install using NPM. But here, it requests me to install dependencies that also require offline access.

NPX solution also requires access online.

An independent installation would just be fantastic ! kind of fully independent install documentation would be great. Or if someone shows me the way, I am happy to document it

Hi @Phonitel, that’s an interesting use case, seeing n8n is typically used for interacting with services exposed on the web.

I do not have a Windows server instance here, but I reckon a possible way in your scenario would be to ensure you have the current LTS version of Node.js installed on your target machine. Then, on a source machine with internet access, build n8n as described here in the development documentation, copy over the n8n directory to the target via USB, and try running ./packages/cli/bin/n8n.cmd start.

This way you wouldn’t need Docker and would have a version running fine on Windows natively (via Node.js of course). Perhaps you can test this approach?

@Phonitel while it’s not something that I’d recommend, you can accomplish this with docker save and docker load, as long as the machine you are installing on already has docker on it.

On a machine with internet:

docker pull n8nio/n8n:latest
docker save -o n8n.tar n8nio/n8n:latest
gzip n8n.tar

then copy n8n.tar.gz to the target computer, and import it using docker load -i n8n.tar.gz.

Would this also work with Windows/WSL1 @netroy? Iirc it’s rather limited and full linux image compatibility was only available with WSL2 which is essentially a VM (but not available here).