From 9dd9a8320ab8e16653fdef86662c0056ba5f8170 Mon Sep 17 00:00:00 2001 From: merith-tk Date: Thu, 5 Jun 2025 17:20:26 +0100 Subject: [PATCH] Update Readme.md --- Readme.md | 57 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/Readme.md b/Readme.md index 2904b26..5cc5188 100644 --- a/Readme.md +++ b/Readme.md @@ -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 | +| `` | 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. \ No newline at end of file +See [vnc-template repository](https://git.merith.xyz/gns3/vnc-template) for full appliance creation guide.