Compare commits

..

No commits in common. "main" and "v0.1.1" have entirely different histories.
main ... v0.1.1

View file

@ -1,47 +1,36 @@
# 🧱 i3 Base Image for GNS3 (VNC)
# README for Docker Image Build and Publish Workflows
> **Base for**: [vnc-template](https://git.merith.xyz/gns3/vnc-template)
Minimal Alpine-based Docker image with i3 window manager for GNS3 VNC appliances.
## Overview
---
This repository contains two GitHub Actions workflows that automate the building and publishing of Docker images to an OCI registry.
## 🛠 Core Features
### Workflows
- **<50MB** Alpine base with i3 window manager
- Automatic DHCP configuration (`udhcpc`)
- Extensible design for lab environments
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. **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`.
## 🏷️ Image Tags
## Prerequisites
| Tag | Description |
|------------|-----------------------------------|
| `latest` | Stable release (`vX.X.X`) |
| `nightly` | Latest `main` branch commit |
| `<commit>` | Immutable build (e.g. `427726ea`) |
- **Secrets Needed:**
- `OCI_TOKEN`: Your OCI registry token.
- `OCI_USER`: Your OCI registry username.
---
## How to Use
## ▶️ Usage with vnc-template
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.
1. Reference this image in your `Dockerfile`:
```Dockerfile
FROM git.merith.xyz/gns3/vnc-template
```
## Notes
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/
```
- Ensure your Docker environment is compatible with multi-platform builds if necessary.
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.
## License
See [vnc-template repository](https://git.merith.xyz/gns3/vnc-template) for full appliance creation guide.
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.