> ## Documentation Index
> Fetch the complete documentation index at: https://www.towbar.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Image resources

> Run a supporting service from an existing OCI image without a source build.

Use `type: image` for a service that does not need Towbar's managed database behavior, such as a metrics collector or another supporting container. Its manifest declares the image, runtime settings, health check, and target environment:

```yaml title=".towbar/resources/metrics.resource.yml" theme={"system"}
id: metrics
name: Metrics
type: image
image: prom/prometheus:v3.5.0
container:
  port: 9090
  network: application
  resources:
    cpus: 1
    memory: 1g
health:
  type: http
  path: /-/healthy
environments:
  production:
    server: 192.0.2.10
```

Use an explicit non-`latest` tag or digest. Confirm that the image supports the target server's architecture and that its process listens on the declared port. Add runtime secret **names** to `secrets.runtime`, then enter the values in Towbar after sync. Do not commit credentials in the image reference, command, or manifest.

Image resources can use declared Docker-managed volumes, but Towbar does not give them the engine-specific backup and restore workflows of a managed database. If the service holds persistent data, protect it with storage tooling appropriate for the server. For a supported engine, prefer its [managed database guide](/docs/databases) and practice a [fresh-target restore](/docs/restores).
