generated from oci/template
Update Readme.md
All checks were successful
Build Docker Image on Commit / build-and-publish (push) Successful in 9s
All checks were successful
Build Docker Image on Commit / build-and-publish (push) Successful in 9s
This commit is contained in:
parent
427726ea22
commit
9dd9a8320a
1 changed files with 34 additions and 23 deletions
57
Readme.md
57
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**
|
- **<50MB** Alpine base with i3 window manager
|
||||||
- **Trigger:** Activates on commits to the `main` branch (tags are excluded).
|
- Automatic DHCP configuration (`udhcpc`)
|
||||||
- **Purpose:** Builds and publishes a Docker image for each commit.
|
- 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:**
|
| Tag | Description |
|
||||||
- `OCI_TOKEN`: Your OCI registry token.
|
|------------|-----------------------------------|
|
||||||
- `OCI_USER`: Your OCI registry username.
|
| `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.
|
## ▶️ Usage with vnc-template
|
||||||
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
|
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.
|
||||||
|
|
Loading…
Reference in a new issue