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” } }
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.