generated from oci/template
Compare commits
No commits in common. "main" and "v0.1.0" have entirely different histories.
1 changed files with 23 additions and 52 deletions
75
Readme.md
75
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`
|
## Overview
|
||||||
Create custom VNC appliances for GNS3 with automatic startup scripts.
|
|
||||||
|
|
||||||
---
|
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**:
|
1. **On Commit to Main**
|
||||||
```bash
|
- **Trigger:** Activates on commits to the `main` branch (tags are excluded).
|
||||||
git clone https://git.merith.xyz/gns3/vnc-template.git
|
- **Purpose:** Builds and publishes a Docker image for each commit.
|
||||||
cd vnc-template
|
|
||||||
```
|
|
||||||
|
|
||||||
2. **Customize your appliance**:
|
2. **On Tag Push**
|
||||||
```dockerfile
|
- **Trigger:** Activates when a new tag is pushed.
|
||||||
FROM git.merith.xyz/gns3/base-vnc:latest
|
- **Purpose:** Builds and publishes a Docker image for the tag and tags it as `latest`.
|
||||||
|
|
||||||
## ADD YOUR CUSTOMIZATIONS HERE ##
|
## Prerequisites
|
||||||
RUN apk add --no-cache firefox-esr xterm
|
|
||||||
|
|
||||||
## END CUSTOMIZATION ##
|
- **Secrets Needed:**
|
||||||
COPY ./entrypoint.sh /entrypoint.sh
|
- `OCI_TOKEN`: Your OCI registry token.
|
||||||
RUN chmod +x /entrypoint.sh
|
- `OCI_USER`: Your OCI registry username.
|
||||||
```
|
|
||||||
|
|
||||||
3. **Configure startup** (`entrypoint.sh`):
|
## How to Use
|
||||||
```bash
|
|
||||||
#!/bin/bash
|
|
||||||
# Start your applications automatically:
|
|
||||||
firefox & # Launch in background
|
|
||||||
xterm # Keep terminal open
|
|
||||||
```
|
|
||||||
|
|
||||||
4. **Build and push**:
|
1. **Clone the Repository:** Get a local copy of this repository.
|
||||||
```bash
|
2. **Modify Dockerfile:** Update the `Dockerfile` for your application.
|
||||||
docker build -t your-registry/vnc-firefox:latest .
|
3. **Push Changes:** Push changes to the `main` branch or create a new tag.
|
||||||
docker push your-registry/vnc-firefox:latest
|
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:
|
## License
|
||||||
- **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`
|
|
||||||
|
|
||||||
---
|
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
|
||||||
|
|
||||||
## 🧩 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 |
|
|
Loading…
Add table
Add a link
Reference in a new issue