diff --git a/Readme.md b/Readme.md index c809073..2904b26 100644 --- a/Readme.md +++ b/Readme.md @@ -1,65 +1,36 @@ -# 🖥️ GNS3 VNC Appliance Template +# README for Docker Image Build and Publish Workflows -> **Base Image**: `git.merith.xyz/gns3/base-vnc:latest` -Create custom VNC appliances for GNS3 with automatic startup scripts. +## Overview ---- +This repository contains two GitHub Actions workflows that automate the building and publishing of Docker images to an OCI registry. -## 🚀 Quick Start +### Workflows -1. **Clone the template**: -```bash -git clone https://git.merith.xyz/gns3/vnc-template.git -cd vnc-template -``` +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. -2. **Customize your appliance**: -```dockerfile -FROM git.merith.xyz/gns3/base-vnc:latest +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`. -## ADD YOUR CUSTOMIZATIONS HERE ## -RUN apk add --no-cache firefox-esr xterm +## Prerequisites -## END CUSTOMIZATION ## -COPY ./entrypoint.sh /entrypoint.sh -RUN chmod +x /entrypoint.sh -``` +- **Secrets Needed:** + - `OCI_TOKEN`: Your OCI registry token. + - `OCI_USER`: Your OCI registry username. -3. **Configure startup** (`entrypoint.sh`): -```bash -#!/bin/bash -# Start your applications automatically: -firefox & # Launch in background -xterm # Keep terminal open -``` +## How to Use -4. **Build and push**: -```bash -docker build -t your-registry/vnc-firefox:latest . -docker push your-registry/vnc-firefox:latest -``` +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. ---- +## Notes -## 🔧 GNS3 Appliance Configuration +- Ensure your Docker environment is compatible with multi-platform builds if necessary. -1. In GNS3, create new **Docker VM** template: - - **General Settings**: - - Name: `Your-Appliance-Name` - - Docker image: `your-registry/vnc-firefox:latest` - - **Network**: - - `eth0` = `Management` (NAT) - - Additional NICs as needed - - **Console**: - - Type: `VNC` - - Port: `5900` +## License ---- - -## 🧩 Key Components - -| File | Purpose | -|------------------|-------------------------------------------------------------------------| -| `Dockerfile` | Extends base image with your custom tools | -| `entrypoint.sh` | **Auto-starts** when appliance boots (launch your apps/services here) | -| `i3.config` | (In base image) Auto-runs `/entrypoint.sh` on startup | +This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. \ No newline at end of file