Issue Installing ERPNext onto my QNAP Nas via portainer (for local LAN access)

Hi,

I’m trying to install ERPNext in a local environment where it will only be accessible for local computers attached to the network and will only be used internally and not externally.

I have installed QNAP Container Station (NAS IP: 192.168.1.252), and through that installed portainer via yaml:

version: "3.8"  

services:
  portainer:
    image: portainer/portainer-ce:latest  
    restart: unless-stopped  
    ports:
      - "9000:9000"  
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
volumes:
  portainer_data:

I have then installed ERPNext with the following configuration in portainer, and it has worked and it is running fine when the stacks are deployed.

version: "3.8"

services:
  # MariaDB database
  mariadb:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: *redacted*
      MYSQL_DATABASE: erpnext  

  # Redis services (3 instances)
  redis-cache:
    image: redis:latest
  redis-queue:
    image: redis:latest
  redis-socketio:
    image: redis:latest

  # ERPNext service
  erpnext:
    image: frappe/erpnext:latest
    depends_on:
      - mariadb
    environment:
      DB_ROOT_USER: root 
      DB_PASSWORD: *redacted* 
      DB_HOST: mariadb  
      REDIS_CACHE: redis-cache  
      REDIS_QUEUE: redis-queue 
      REDIS_SOCKETIO: redis-socketio  
      SOCKETIO_PORT: "9000"  
      INSTALL_APPS: erpnext  
      ADMIN_PASSWORD: *redacted*  

    ports:
      - "8080:8080"

However, when I try to access ERPNext via http://192.168.1.252:8080, it shows “Not Found. 192.168.1.252 does not exist.” - as far as I know it indicates that the host is accessible on port 8080 , and the request is reaching some service (likely my ERPNext container), but the service isn’t responding as expected. This change in behavior suggests that my Docker Compose port mapping ("8080:8000" ) is correctly routing traffic to the ERPNext container, but there may be issues with how ERPNext is handling the request?

Is there a better way to do this, or what steps am I missing out on? I have also checked the firewall settings on the NAS and enable for port 8080 to being accessible for that IP request.

Anyone that can offer some help?

Hi @abbahmed,

I think the following is the request route in your configuration:

Browser request:8080 → NAS:8080 → Portainer:8080 → Container:8080 → ERPNext

However, I can see only 9000 in portainer configuration.

Can you try opening port 8080 in the portainer YAML?

Hope this helps!