Compare commits

...

1 commit
v0.1.1 ... main

Author SHA1 Message Date
9dd9a8320a Update Readme.md
All checks were successful
Build Docker Image on Commit / build-and-publish (push) Successful in 9s
2025-06-05 17:20:26 +01:00

View file

@ -1,36 +1,47 @@
# README for Docker Image Build and Publish Workflows
# 🧱 i3 Base Image for GNS3 (VNC)
## Overview
> **Base for**: [vnc-template](https://git.merith.xyz/gns3/vnc-template)
Minimal Alpine-based Docker image with i3 window manager for GNS3 VNC appliances.
This repository contains two GitHub Actions workflows that automate the building and publishing of Docker images to an OCI registry.
---
### Workflows
## 🛠 Core Features
1. **On Commit to Main**
- **Trigger:** Activates on commits to the `main` branch (tags are excluded).
- **Purpose:** Builds and publishes a Docker image for each commit.
- **<50MB** Alpine base with i3 window manager
- Automatic DHCP configuration (`udhcpc`)
- Extensible design for lab environments
2. **On Tag Push**
- **Trigger:** Activates when a new tag is pushed.
- **Purpose:** Builds and publishes a Docker image for the tag and tags it as `latest`.
---
## Prerequisites
## 🏷️ Image Tags
- **Secrets Needed:**
- `OCI_TOKEN`: Your OCI registry token.
- `OCI_USER`: Your OCI registry username.
| Tag | Description |
|------------|-----------------------------------|
| `latest` | Stable release (`vX.X.X`) |
| `nightly` | Latest `main` branch commit |
| `<commit>` | Immutable build (e.g. `427726ea`) |
## How to Use
---
1. **Clone the Repository:** Get a local copy of this repository.
2. **Modify Dockerfile:** Update the `Dockerfile` for your application.
3. **Push Changes:** Push changes to the `main` branch or create a new tag.
4. **Check Workflow Status:** View the Actions tab in Forgjo to monitor workflow runs.
## ▶️ Usage with vnc-template
## Notes
1. Reference this image in your `Dockerfile`:
```Dockerfile
FROM git.merith.xyz/gns3/vnc-template
```
- Ensure your Docker environment is compatible with multi-platform builds if necessary.
2. Add custom tools and configs in [vnc-template](https://git.merith.xyz/gns3/vnc-template):
```Dockerfile
RUN apk add firefox wireshark
COPY my-configs /etc/
```
## License
3. Auto start programs by adding your own entrypoint
```Dockerfile
COPY custom-entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
```
> **⚠️ Do _not_ add an `ENTRYPOINT` line in your `Dockerfile`.**
> The base image already defines the required entrypoint for proper operation in GNS3.
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
See [vnc-template repository](https://git.merith.xyz/gns3/vnc-template) for full appliance creation guide.