improved readme and added license
This commit is contained in:
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 Tordarus
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
78
README.md
78
README.md
@ -2,42 +2,86 @@
|
||||
|
||||
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`).
|
||||
|
||||
🏗️ **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
|
||||
- ✅ Multi-architecture: `linux/amd64`, `linux/arm64`
|
||||
- ✅ Minimal and reproducible container setup
|
||||
* ✅ 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 with Alpine Linux
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Example Usage
|
||||
|
||||
### 🐚 Docker CLI
|
||||
|
||||
```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
|
||||
tordarus/gorunner:latest
|
||||
```
|
||||
|
||||
### 🐳 Docker Compose
|
||||
|
||||
Create a `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
version: "3.9"
|
||||
services:
|
||||
gorunner:
|
||||
image: tordarus/gorunner:latest
|
||||
environment:
|
||||
GIT_REPO: https://github.com/youruser/your-go-app.git
|
||||
GIT_USERNAME: yourusername # Optional for public repos
|
||||
GIT_TOKEN: yourtoken # Optional for public repos
|
||||
APP_PATH: . # Optional
|
||||
PACKAGES: curl # Optional
|
||||
```
|
||||
|
||||
Then run it with:
|
||||
|
||||
```bash
|
||||
docker compose up
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 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 |
|
||||
| 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 |
|
||||
|
||||
---
|
||||
|
||||
## 📦 Docker Hub
|
||||
|
||||
👉 Pull the image from Docker Hub:
|
||||
**[tordarus/gorunner](https://hub.docker.com/r/tordarus/gorunner)**
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Source Repository
|
||||
|
||||
View the source code:
|
||||
👉 [https://git.tordarus.net/tordarus/gorunner](https://git.tordarus.net/tordarus/gorunner)
|
||||
|
||||
Found a bug or have an idea for improvement?
|
||||
🛠️ [Create an issue](https://git.tordarus.net/tordarus/gorunner/issues) in the repository.
|
||||
|
||||
---
|
||||
|
||||
## 📄 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)
|
||||
|
Reference in New Issue
Block a user