Local development
local development Nhost CLI Run services development environment env file generationYou can start Nhost Run services alongside your Nhost project very easily using the Nhost CLI by simply using the option --run-service path/to/run-service.toml[:overlay_name], for instance:

Let’s first take a look at the commend above, the first thing you can notice is that multiple --run-service flags are supported. You can pass as many as you need and they all will be added to your project. You can also add or remove Run services to an already running instance by re-running the command specifying the final list of --run-service you want. Any missing service will be removed and any new one will be added.
The second thing you will notice is that one of the --run-service flags contains the suffix :mysvc while the other one doesn’t. If you add to the configuration path the suffix :overlay_name the configuration overlay with name overlay_name will be applied.
The last thing to notice in the screenshot is that the URLs include information on how to connect to the Run service (in the example used in this guide only one of the started services expose a port):
- run-bun-gen: From laptop: http://localhost:5000 From services: http://run-bun-gen:5000Based on the information above, if you want to connect directly to your service from your laptop you can use the URL http://localhost:5000 while if you want to connect to the Run service from another service (i.e. another Run service or hasura) you can use http://run-bun-gen:5000
Quick Development
Section titled “Quick Development”While developing your service, you may want to run it locally outside of the Nhost CLI to quickly iterate on it. To simplify this the Nhost CLI includes a command to generate an .env file based on your environment variables configuration and secrets. For instance, imagine a service with the following configuration:
[[environment]]name = 'HASURA_GRAPHQL_URL'value = 'http://hasura-service:8080/v1/graphql'
[[environment]]name = 'SOME_CONFIGURATION_PARAMETER'value = 'some-value'
[[environment]]name = 'SECRET_KEY'value = '{{ secrets.SECRET_KEY }}'[ { "value": { "name": "ENVIRONMENT", "value": "dev" }, "op": "add", "path": "/environment/-" }, { "value": "https://local.graphql.local.nhost.run/v1/graphql", "op": "replace", "path": "/environment/0/value" }]SECRET_KEY = '#asdasd;l;kq23\\n40-0as9d"$\\'We can then generate an env file for our service with the folllowing command:
$ nhost run env --config ../mysvc/nhost-run-service.toml --overlay-name local-dev > .env$ cat .envHASURA_GRAPHQL_URL="https://local.graphql.local.nhost.run/v1/graphql"SOME_CONFIGURATION_PARAMETER="some-value"SECRET_KEY="#asdasd;l;kq23\\n40-0as9d\"\$\\"ENVIRONMENT="dev"