2025-06-06 17:45:20 +02:00
2025-06-06 17:45:20 +02:00
2025-06-06 14:08:21 +02:00
2025-06-06 17:33:37 +02:00
2025-06-06 15:31:02 +02:00
2025-06-06 17:33:37 +02:00

🐳 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.

🏗️ Built on Alpine Linux for a minimal, efficient footprint.


Features

  • Clones a Go repository at runtime
  • Supports private Git repositories using .netrc-based auth
  • Builds and runs your Go application
  • Supports checking out a specific branch, tag, or commit via GIT_REF
  • Multi-architecture: linux/amd64, linux/arm64, linux/arm/v7
  • Minimal and reproducible container setup with Alpine Linux

🧪 Example Usage

🐚 Docker CLI

docker run --rm \
  -e GIT_REPO=https://git.tordarus.net/tordarus/hello-world.git \
  -e GIT_REF=main \
  tordarus/gorunner:latest

🐳 Docker Compose

Create a docker-compose.yml:

version: "3.9"
services:
  gorunner:
    image: tordarus/gorunner:latest
    environment:
      GIT_REPO: https://git.tordarus.net/tordarus/hello-world.git
      GIT_REF: main                # Optional  specify branch, tag, or commit
      GIT_USERNAME: yourusername  # Optional for public repos
      GIT_TOKEN: yourtoken        # Optional for public repos
      APP_PATH: .                 # Optional  subdir of Go app
      PACKAGES: curl              # Optional  comma-separated apk packages

Then run it with:

docker compose up

🔧 Environment Variables

Variable Required Description
GIT_REPO Yes The HTTPS Git URL of your Go project
GIT_REF Optional Branch name, tag, or commit hash to checkout after clone (default: HEAD)
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

📦 Docker Hub

👉 Pull the image from Docker Hub: tordarus/gorunner


🔗 Source Repository

View the source code: 👉 https://git.tordarus.net/tordarus/gorunner

Found a bug or have an idea for improvement? 🛠️ Create an issue in the repository.


📄 License

MIT License feel free to modify and use.

Description
Clone, build, and execute Go code in a lightweight Alpine container
Readme MIT 37 KiB
Languages
Shell 80.6%
Dockerfile 19.4%