# ๐Ÿณ Go Builder & Runner Docker Image

This Docker image is designed to **download**, **compile**, and **run** a Go program from a Git repository entirely at **container runtime**. It supports both public and private repositories and works seamlessly across multiple architectures (`amd64`, `arm64`).

---

## โœ… Features

- โœ… Clones a Go repository at runtime
- โœ… Supports **private Git repositories** using `.netrc`-based auth
- โœ… Builds and runs your Go application
- โœ… Multi-architecture: `linux/amd64`, `linux/arm64`
- โœ… Minimal and reproducible container setup

---

## ๐Ÿงช Example Usage

```bash
docker run --rm \
  -e GIT_REPO=https://github.com/youruser/your-go-app.git \
  -e GIT_USERNAME=yourusername \
  -e GIT_TOKEN=yourtoken \
  gorunner:latest
```

## ๐Ÿ”ง Environment Variables

| Variable               | Required | Description                                                             |
| ---------------------- | -------- | ----------------------------------------------------------------------- |
| `GIT_REPO`             | โœ… Yes   | The HTTPS Git URL of your Go project                                    |
| `GIT_USERNAME`         | Optional | Your Git username (required for private repos)                          |
| `GIT_TOKEN`            | Optional | A personal access token or password (required for private repos)        |
| `APP_PATH`             | Optional | Relative path to the Go module directory inside the repo (default: `.`) |
| `PACKAGES`             | Optional | Comma-separated list of packages to install with `apk` before execution |

## ๐Ÿ“„ License

MIT License โ€“ feel free to modify and use.

## ๐Ÿ“ฆ Repository

You can find the code for this image at [https://git.tordarus.net/tordarus/gorunner](https://git.tordarus.net/tordarus/gorunner)