ERR_INVALID_UR when creating instance

Running on docker
over https/http

{ “error”: { “code”: “ERR_INVALID_URL”, “message”: “Failed to start project da4bf4e5-f174-409d-abfb-72287c297dee: TypeError [ERR_INVALID_URL]: Invalid URL” } }

What was the URL you posted to?

Have you seen the same URL work previously?

domain and base url same using docker nginx proxy to run over 80/443 port

docker nginx:
version: “3.3”
services:
nginx:
image: jwilder/nginx-proxy
networks:
- flowforge
restart: always
volumes:
- “/var/run/docker.sock:/tmp/docker.sock:ro”
# - “./certs:/etc/nginx/certs”
ports:
- “80:80”
# - “44:443”
environment:
- “HTTPS_METHOD=redirect”

flowforge.yml
port: 3000
host: 0.0.0.0(here my ip)
domain: flow.mydomain
base_url: http//flow.mydomain

running on http://flow.mydomain

Please wrap the config files in triple back ticks so the indenting is preserved.

Also please include the whole docket-compose.yml file and the flowforge.yml

What exactly are you trying to achieve here, please give a clear description.

But the host value should NOT be changed, this is the IP address the forge app will bind to inside the container, it should be left as 0.0.0.0 so it binds to all addresses inside the container.

Second, normally the domain and base_url should not be the same, in theory it should work, but it has only been tested with the forge app running not running on the root “host” of the domain.

port: 3000
host: 0.0.0.0
domain: flow.mydomain
base_url: http://forge.flow.mydomain
api_url: http://forge:3000

Note that in the example you have posted you have missed out a : in base_url.

Also you should not comment out the api_url as this is how instance talk to the forge app using the internal docker network.

Here is the clear file:

flowforge.yml

port: 3000
host: 0.0.0.0
domain: flow.mydomain.com
base_url: http//flow.mydomain.com
api_url: http//flow:3000

#################################################
# Database Configuration                        #
#################################################

db:
  logging: false
  ## The database type: sqlite|postgres
  type: postgres
  ### SQLite options

  ## The database filename. Relative to $FLOWFORGE_HOME/var/
  ## Set to ':memory:' for a database that is wiped on restart
  # storage: forge.db

  ### Postgres options

  host: postgres
  user: forge
  password: secret

#################################################
# Project Driver Configuration                  #
#################################################

driver:
  ## The type of backend driver to use
  ##  Can be: localfs/docker/stub/k8s
  type: docker

  options:
    ## Options to be passed to the driver

    ### LocalFS options

    ## The first port number to assign to projects
    # start_port: 7880

    ## Path to find node executable if not on the default path
    # node_path: /usr/bin/node

    ### Docker options

    ## Docker socket path
    socket: /tmp/docker.sock
    # registry: hub.flowforge.com

    ### K8S options

    ## Kubectl conf file to contact the cluster
    # config_file: /opt/share/projects/flowforge/test/config
    # regsitry: hub.flowforge.com

#################################################
# Email Configuration                           #
#################################################

email:
  enabled: true
  debug: false
  smtp:
    host: localhost
    port: 587
    secure: false
    #auth:
    #    user: username
    #    pass: password

broker:
  url: mqtt://flowforge-broker:1883
  public_url: wss://mqtt.flow.mydomain.com

Here Docker File:
docker-compose.yml

version: "3.3"
services:
  nginx:
    image: jwilder/nginx-proxy
    networks:
      - flowforge
    restart: always
    volumes:
      - "/var/run/docker.sock:/tmp/docker.sock:ro"
        #      - "./certs:/etc/nginx/certs"
    ports:
      - "80:80"
        # - "44:443"
    environment:
      - "HTTPS_METHOD=redirect"
  postgres:
    image: postgres:14
    networks:
      - flowforge
    restart: always
    environment:
      POSTGRES_PASSWORD: secret
      POSTGRES_USER: root
    volumes:
      - "./db:/var/lib/postgresql/data"
      - "./setup-db.sh:/docker-entrypoint-initdb.d/setup-db.sh"
  flowforge-broker:
    image: "iegomez/mosquitto-go-auth"
    networks:
      - flowforge
    restart: always
    ulimits:
      nofile: 2048
    environment:
      - "VIRTUAL_HOST=mqtt.flow.mydomain.com"
      - "VIRTUAL_PORT=1884"
    volumes:
      - "./broker/mosquitto.conf:/etc/mosquitto/mosquitto.conf"
  forge:
    build:
      context: "./flowforge-docker"
    image: "flowforge/forge-docker"
    networks:
      - flowforge
    restart: always
    environment:
      - "VIRTUAL_HOST=flow.mydomain.com"
    volumes:
      - "/var/run/docker.sock:/tmp/docker.sock"
      - "./etc/flowforge.yml:/usr/src/forge/etc/flowforge.yml"
    depends_on:
      - "postgres"
      - "nginx"
      - "flowforge-broker"

networks:
  flowforge:
                         

please help me to correction the script for http and https

-without ssl instance suspend
-when trying to run over ssl web page not run.

Thank you for the reply.

Here is the clear file:

flowforge.yml

port: 3000
host: 0.0.0.0
domain: flow.mydomain.com
base_url: http//flow.mydomain.com
api_url: http//flow:3000

#################################################
# Database Configuration                        #
#################################################

db:
  logging: false
  ## The database type: sqlite|postgres
  type: postgres
  ### SQLite options

  ## The database filename. Relative to $FLOWFORGE_HOME/var/
  ## Set to ':memory:' for a database that is wiped on restart
  # storage: forge.db

  ### Postgres options

  host: postgres
  user: forge
  password: secret

#################################################
# Project Driver Configuration                  #
#################################################

driver:
  ## The type of backend driver to use
  ##  Can be: localfs/docker/stub/k8s
  type: docker

  options:
    ## Options to be passed to the driver

    ### LocalFS options

    ## The first port number to assign to projects
    # start_port: 7880

    ## Path to find node executable if not on the default path
    # node_path: /usr/bin/node

    ### Docker options

    ## Docker socket path
    socket: /tmp/docker.sock
    # registry: hub.flowforge.com

    ### K8S options

    ## Kubectl conf file to contact the cluster
    # config_file: /opt/share/projects/flowforge/test/config
    # regsitry: hub.flowforge.com

#################################################
# Email Configuration                           #
#################################################

email:
  enabled: true
  debug: false
  smtp:
    host: localhost
    port: 587
    secure: false
    #auth:
    #    user: username
    #    pass: password

broker:
  url: mqtt://flowforge-broker:1883
  public_url: wss://mqtt.flow.mydomain.com

Here Docker File:
docker-compose.yml

version: "3.3"
services:
  nginx:
    image: jwilder/nginx-proxy
    networks:
      - flowforge
    restart: always
    volumes:
      - "/var/run/docker.sock:/tmp/docker.sock:ro"
        #      - "./certs:/etc/nginx/certs"
    ports:
      - "80:80"
        # - "44:443"
    environment:
      - "HTTPS_METHOD=redirect"
  postgres:
    image: postgres:14
    networks:
      - flowforge
    restart: always
    environment:
      POSTGRES_PASSWORD: secret
      POSTGRES_USER: root
    volumes:
      - "./db:/var/lib/postgresql/data"
      - "./setup-db.sh:/docker-entrypoint-initdb.d/setup-db.sh"
  flowforge-broker:
    image: "iegomez/mosquitto-go-auth"
    networks:
      - flowforge
    restart: always
    ulimits:
      nofile: 2048
    environment:
      - "VIRTUAL_HOST=mqtt.flow.mydomain.com"
      - "VIRTUAL_PORT=1884"
    volumes:
      - "./broker/mosquitto.conf:/etc/mosquitto/mosquitto.conf"
  forge:
    build:
      context: "./flowforge-docker"
    image: "flowforge/forge-docker"
    networks:
      - flowforge
    restart: always
    environment:
      - "VIRTUAL_HOST=flow.mydomain.com"
    volumes:
      - "/var/run/docker.sock:/tmp/docker.sock"
      - "./etc/flowforge.yml:/usr/src/forge/etc/flowforge.yml"
    depends_on:
      - "postgres"
      - "nginx"
      - "flowforge-broker"

networks:
  flowforge:
                         

please help me to correction the script for http and https

-without ssl instance suspend
-when trying to run over ssl web page not run.

You are still missing the : in the base_url and api_url in the flowforge.yml file.

Have you followed the instructions for enabling HTTPS from here:

Please be aware if you enable HTTPS after creating any instances you will need to delete them and recreate them.

If you want to enable HTTPS then you need to change the base_url to https://flow.mydomain.com

Then we will need to know how you are providing certificates and are you using a public CA or a private/self signed certificate authority?

I used wildcard TLS Certificate.

Yes, but is it a public CA certificate or a private CA certificate? This will matter if the Project instance will know to trust the certificate.

I also suggest you start with not trying to host the forge app on the root domain (flows.mydomain.com) but follow the example provided. e.g. run with the forge app on forge.flow.mydomain.com and instances on instancename.flow.mydomain.com

That way a CN/SAN entry in the certificate of *.flow.mydomain.com will work, rather than needing 2 entries.