# `Dagger.Host`
[🔗](https://github.com/dagger/dagger/blob/v0.21.8/sdk/elixir/lib/dagger/gen/host.ex#L2)

Information about the host environment.

# `t`

```elixir
@type t() :: %Dagger.Host{client: term(), query_builder: term()}
```

# `container_image`

```elixir
@spec container_image(t(), String.t()) :: Dagger.Container.t()
```

Accesses a container image on the host.

# `directory`

```elixir
@spec directory(t(), String.t(),
  exclude: [String.t()],
  include: [String.t()],
  no_cache: boolean() | nil,
  gitignore: boolean() | nil
) :: Dagger.Directory.t()
```

Accesses a directory on the host.

# `file`

```elixir
@spec file(t(), String.t(), [{:no_cache, boolean() | nil}]) :: Dagger.File.t()
```

Accesses a file on the host.

# `find_up`

```elixir
@spec find_up(t(), String.t(), [{:no_cache, boolean() | nil}]) ::
  {:ok, String.t() | nil} | {:error, term()}
```

Search for a file or directory by walking up the tree from system workdir. Return its relative path. If no match, return null

# `id`

```elixir
@spec id(t()) :: {:ok, String.t()} | {:error, term()}
```

A unique identifier for this Host.

# `service`

```elixir
@spec service(t(), [Dagger.PortForward.t()], [{:host, String.t() | nil}]) ::
  Dagger.Service.t()
```

Creates a service that forwards traffic to a specified address via the host.

# `tunnel`

```elixir
@spec tunnel(t(), Dagger.Service.t(),
  native: boolean() | nil,
  ports: [Dagger.PortForward.t()]
) ::
  Dagger.Service.t()
```

Creates a tunnel that forwards traffic from the host to a service.

# `unix_socket`

```elixir
@spec unix_socket(t(), String.t()) :: Dagger.Socket.t()
```

Accesses a Unix socket on the host.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
