DevZero Logo
DevZero

Access Running Applications

Accessing running applications on DevZero.

Access Your Running Application(s)

Make sure you're connected to the DevZero network by running:

dz network connect

The, find the desired workspace by running:

dz network status

You will see an output that looks like this:

% dz network status
Current Network: default
╭──────────────────────────────────────────â”Ŧ────────────────────────────────────────────────â”Ŧ─────────────────────────────────────────â”Ŧ───────────────────────────────â”Ŧ────────────────────────────────╮
│                    IP                    │                    HOSTNAME                    │                  OWNER                  │              OS               │             STATUS             │
├──────────────────────────────────────────â”ŧ────────────────────────────────────────────────â”ŧ─────────────────────────────────────────â”ŧ───────────────────────────────â”ŧ────────────────────────────────┤
│ 100.115.56.9                             │ debosmits-air-zi36pvqw                         │ debo@devzero.io                         │ macOS                         │ online                         │
│ 100.65.179.17                            │ junco-solfege                                  │ debo@devzero.io                         │ js                            │ online                         │
│ 100.111.113.120                          │ woodpecker-anaconda                            │ debo@devzero.io                         │ js                            │ online                         │
╰──────────────────────────────────────────┴────────────────────────────────────────────────┴─────────────────────────────────────────┴───────────────────────────────┴────────────────────────────────╯

You can use either the hostname or the IP to make network requests when accessing running applications inside the DevBox.

Sending network requests to an application inside the DevBox

Using cURL

To access an application running inside a DevBox using the cURL command, you can send requests to the desired DevBox using the following URL scheme: <protocol>://<devbox hostname>:<port> or the DevBox IP

Example:

curl popular-bluejay-yzrt:8080
 
## OR
 
curl 100.64.0.202:8080

In the Browser

To access an application running inside a DevBox in the Browser, you can open a URL that follows the scheme: <protocol>://<devbox hostname>:<port> or <devbox IP>:<port>

Using SSH

To access your DevBox using ssh, connect to your DevBox with devzero@<devbox hostname> or devzero@<devbox ip> as a credential:

Example:

ssh devzero@popular-bluejay-yzrt
 
## OR
 
ssh devzero@100.64.0.202

Port forwarding

As long as you're connected to the DevZero network, all the ports available are exposed to your machine automatically.

If you're running applications inside Kubernetes, you might need to use the kubectl port-forward command fo forwards to port of the application to your DevBox.

Example:

kubectl port-forward <pod> <port>:<target port>

Access Your Team's Running Application(s)

The flow for this is exactly the same as all above.

The only difference is, in order to see your teammate's workspace, add the --team flag to the command.

dz network status --team

The rest of the steps are exactly the same!

Serve and share resources

Very similar to Tailscale Funnel, dz network funnel lets you route traffic from the public internet to a local service/app/process available on your DevZero network. You should use this to share local services (e.g. Node.js or Python web app, a Kubernetes service, etc) on your DevZero network for anyone to access, irrespective of whether they use DevZero.

Use-cases that are enabled by this capability:

  • sharing a work-in-progess with a design partner that works on a different team/company/organization
  • running and sharing demo apps for quick events like meetups, conferences, etc
  • collaborating with a product manager, designer, or an engineering manager.

From a Workspace

Say you have an application running on port 3000 on localhost. To expose it to the public internet, run:

sudo dz net funnel localhost:3000

The output will look something like:

% sudo dz net funnel localhost:3000
Available on the public internet at: https://neutral-anteater-slxl.team-03f3f9b48aa3465ca-9f8c8bfece3b44ac97103ab79e495aa0.dv0.io/
Press Ctrl+C to stop serving.

At this point, the end user can visit https://neutral-anteater-slxl.team-03f3f9b48aa3465ca-9f8c8bfece3b44ac97103ab79e495aa0.dv0.io/ on any end-user device and interact with the app.

If you want to expose apps on a domain that you own, send us a note to support@devzero.io.

By default, this is a blocking operation. To run funnel in the background, use the --bg flag.

Currently, processes running on localhost or 0.0.0.0 can be exposed externally.

If you want to expose the service on a different subpath, say, /dashboard, use the --subpath flag:

% sudo dz net funnel localhost:3000 --subpath /dashboard
Available on the public internet at: https://neutral-anteater-slxl.team-03f3f9b48aa3465ca-9f8c8bfece3b44ac97103ab79e495aa0.dv0.io/dashboard
Press Ctrl+C to stop serving.

On this page