Issues with N8N and Baserow Integration

Self-Hosted Installation and Setup Questions

How have you self-hosted Baserow.

I have docker Desktop Installed on my MacBook 2019

What are the specs of the service or server you are using to host Baserow.

2.4 GHz 8-Core Intel Core i9
64GB RAM

Which version of Baserow are you using.

1.21.2

How have you configured your self-hosted installation?

What commands if any did you use to start your Baserow server?

Following command to configure & Run at the same time

docker run
–name baserow
-detach
-e BASEROW_PUBLIC_URL=baserow:9080
-e BASEROW_CADDY_ADDRESSES=baserow:9080
-v baserow_volume:/baserow/data
-p 9080:80
-p 9443:443
–add-host baserow:172.17.0.2
–add-host n8n:172.17.0.3
–restart unless-stopped
baserow/baserow:latest

Describe the problem

With these settings I am able to now Connect from my n8n using BASEROW_PUBLIC_URL
but none of the two URLs work in opening baserow Home page on my MacBook, it seems I can’t access the baserow from outside the docker

Describe, step by step, how to reproduce the error or problem you are encountering.

  1. Start Baserow as shown above
  2. go to your n8n GUI on host machine > Workflow > add baserow as an action > Get Row > and the BASEROW_PUBLIC_URL will work for credentials
  3. then also launch BASEROW_PUBLIC_URL on my host machine and it doesn’t work.
  4. Unable to ping baserow from host machine
    ping baserow
    PING baserow (172.17.0.2): 56 data bytes
    Request timeout for icmp_seq 0
    Request timeout for icmp_seq 1

from the looks of it both containers are setup same way both are connected to bridge network automatically, I can hit n8n URL on my hostname but can’t do the same on my host machine, I did added bridge IP and hostname to my host file on my host machine

Provide screenshots or include share links showing

NA

How many rows in total do you have in your Baserow tables?

NA

Please attach full logs from all of Baserow’s services

couldn’t figure out how to attache a log file

@joffcom, we need your help here, please. :pray:

Hey @seanclt,

Baserow isn’t a host that your machine can resolve, can you try localhost:9080 and see if that works?

Good Morning

I tried all 3
localhost:9080
Baserow:9080
& 172.17.0.2:9080

I also added baserow 172.17.0.2 to my host file to see if it would help but it didn’t
I am unable to ping baserow ip but I can ping my n8n ip

This is where docker networking gets tricky, where you have port for baserow set can you try using -p 0.0.0.0:9080:80 this will tell docker to listen on 9080 on all IPs and you might have more luck.

1 Like

Thank you, Greatly appreciate you looking into it

Still having the same issue, Following is my updated command
docker stop baserow
docker rm baserow

docker run
–name baserow
-detach
-e BASEROW_PUBLIC_URL=http://baserow:9080
-e BASEROW_CADDY_ADDRESSES=http://baserow:9080
-e HOST_PUBLISH_IP=127.0.0.1
-v baserow_volume:/baserow/data
-p 0.0.0.0:9080:80
-p 9443:443
–add-host baserow:172.17.0.2
–add-host n8n:172.17.0.3
–restart unless-stopped
baserow/baserow:latest

Symptoms

  1. Unable to hit any of the 3 URLs, localhost, baserow or IP from my Host machine (Mac)
  2. can ping baserow from n8n machine
  3. can do curl from baserow to n8n machine

I was wondering if these ports 5678(n8n) or 9880(baserow) would show up on my host machine if I do netstat -a

I am desperate this thing is keeping me up

:thinking: so I suspect it will be the same issue still and we just need to let the baserow container know you can connect. From what I remember it is expecting you to connect using the baserow host but your machine doesn’t know what that is.

Luckily docker knows as you are telling it with the —add-hosts so each container can use the name with no issues.

I will set up baserow and n8n on my MacBook today and see if I can come up with a setup that works. I am sure it will just be a missing config option

1 Like

Hey @seanclt,

Assuming you are planning to keep baserow local and not expose it to the outside world all you need to do is update your hosts file to point baserow at the container for your local machine. If you were using a “proper” domain or tunnel service you wouldn’t need to worry about this.

The command below will add the record and you can use the docker compose file at the bottom is what I have used to get everything working.

echo '127.0.0.1 baserow' | sudo tee -a /etc/hosts

Docker Compose

version: "3.9"

services:
  n8n:
    container_name: n8n
    image: docker.n8n.io/n8nio/n8n
    ports:
      - 5678:5678
    networks:
      - n8n-network
    volumes:
      - n8n_data:/home/node/.n8n

  baserow:
    container_name: baserow
    image: baserow/baserow:latest
    ports:
      - 9080:80
      - 9443:443
    environment:
      - BASEROW_PUBLIC_URL=http://baserow:9080
    networks:
      - n8n-network
    volumes:
      - baserow_data:/baserow/data

volumes:
  n8n_data:
  baserow_data:

networks:
  n8n-network:
    driver: bridge

What Works

  1. on my macOS : I can access both using localhost
  2. on my n8n terminal : I can ping baserow
  3. from my macOS : n8n GUI : I can’t access baserow using

Screenshots attached


Hey @seanclt,

Is that using the compose file I put above?

Hello yes
Exactly as is even using the host file entry on my macOS

I deleted all my images containers volumes left nothing

From n8n can you try using 172.21.0.1 as the host with the 9080 port and let me know if that works.

Hello

with http://172.21.0.1:9080 I get bad host
with http://172.21.0.3:9080 & http://baserow:9080 I get the following

ERROR: The service refused the connection - perhaps it is offline

connect ECONNREFUSED 172.21.0.3:9080

I just added

to the compose file and now

  1. n8n to API http://baserow:9080 works
  2. browser on Mac can’t open http://localhost:9080

something is odd here

  1. without BASEROW_CADDY_ADDRESSES
    browser can hit localhost:9080 but n8n can’t hit baserow:9080
  2. with BASEROW_CADDY_ADDRESSES
    browser can’t hit localhost:9080 but n8n can hit baserow:9080

I tend to go without the caddy address as you don’t need it for your setup.

You could try adding the host options as well and removing the caddy part again, the problem here is there is technically no issue with n8n or baserow and it is down to docker networking being funky.

Are you planning to only keep baserow and n8n local or will you expose it to the outside world as well as that will change things as well.

Long term plan is not to leave it on my local Mac, I might host it on azure or slicie.com, I already have a ubuntu server with multi websites on it so might just host there.

at that point I’ll have sub domain name pointed to this

What am going to use this for.

  1. I plan on going appsmith baserow & n8n route to build some in house apps
  2. I am even looking at budibase, wondering if I can use buildibase with local db

docker-compose.yml file screenshot below

with this file

Previous Comment was the final solution

it looks like bug that no matter what custom port you use API only works with port 80

I tested adding PUBLIC_WEB_FRONTEND_URL http://baserow:59080 & WEB_FRONTEND_PORT http://baserow:59080 instead of BASEROW_PUBLIC_URL and then FRONTEND Stops working as well

makes no sense

personally it doesn’t matter, as I am not exposing port 80 anyway and only exposing 59080 to access baserow Remotely