Add GHCR publishing support
This commit is contained in:
9
.github/workflows/build-and-publish.yml
vendored
9
.github/workflows/build-and-publish.yml
vendored
@@ -33,6 +33,12 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_TOKEN }}
|
password: ${{ secrets.DOCKER_TOKEN }}
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Extract version from tag
|
- name: Extract version from tag
|
||||||
id: version
|
id: version
|
||||||
run: |
|
run: |
|
||||||
@@ -55,6 +61,9 @@ jobs:
|
|||||||
bentopdf/bentopdf${{ matrix.mode.suffix }}:latest
|
bentopdf/bentopdf${{ matrix.mode.suffix }}:latest
|
||||||
bentopdf/bentopdf${{ matrix.mode.suffix }}:${{ steps.version.outputs.version_without_v }}
|
bentopdf/bentopdf${{ matrix.mode.suffix }}:${{ steps.version.outputs.version_without_v }}
|
||||||
bentopdf/bentopdf${{ matrix.mode.suffix }}:${{ steps.version.outputs.version }}
|
bentopdf/bentopdf${{ matrix.mode.suffix }}:${{ steps.version.outputs.version }}
|
||||||
|
ghcr.io/${{ github.repository_owner }}/bentopdf${{ matrix.mode.suffix }}:latest
|
||||||
|
ghcr.io/${{ github.repository_owner }}/bentopdf${{ matrix.mode.suffix }}:${{ steps.version.outputs.version_without_v }}
|
||||||
|
ghcr.io/${{ github.repository_owner }}/bentopdf${{ matrix.mode.suffix }}:${{ steps.version.outputs.version }}
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
|
|||||||
16
README.md
16
README.md
@@ -102,15 +102,21 @@ You can run BentoPDF locally for development or personal use.
|
|||||||
|
|
||||||
### 🚀 Quick Start with Docker
|
### 🚀 Quick Start with Docker
|
||||||
|
|
||||||
You can run BentoPDF directly from Docker Hub without cloning the repository:
|
You can run BentoPDF directly from Docker Hub or GitHub Container Registry without cloning the repository:
|
||||||
|
|
||||||
You can also watch the video on how to set it up 👉
|
You can also watch the video on how to set it up 👉
|
||||||
[BentoPDF Docker Setup](https://drive.google.com/file/d/1C4eJ2nqeaH__1Tlad-xuBHaF2Ha4fSBf/view?usp=drive_link)
|
[BentoPDF Docker Setup](https://drive.google.com/file/d/1C4eJ2nqeaH__1Tlad-xuBHaF2Ha4fSBf/view?usp=drive_link)
|
||||||
|
|
||||||
|
**Using Docker Hub:**
|
||||||
```bash
|
```bash
|
||||||
docker run -p 3000:8080 bentopdf/bentopdf:latest
|
docker run -p 3000:8080 bentopdf/bentopdf:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Using GitHub Container Registry:**
|
||||||
|
```bash
|
||||||
|
docker run -p 3000:8080 ghcr.io/alam00000/bentopdf:latest
|
||||||
|
```
|
||||||
|
|
||||||
Open your browser at: http://localhost:3000
|
Open your browser at: http://localhost:3000
|
||||||
|
|
||||||
This is the fastest way to try BentoPDF without setting up a development environment.
|
This is the fastest way to try BentoPDF without setting up a development environment.
|
||||||
@@ -171,12 +177,18 @@ For detailed security configuration, see [SECURITY.md](SECURITY.md).
|
|||||||
|
|
||||||
### 📦 Version Management
|
### 📦 Version Management
|
||||||
|
|
||||||
BentoPDF supports semantic versioning with multiple Docker tags:
|
BentoPDF supports semantic versioning with multiple Docker tags available on both Docker Hub and GitHub Container Registry:
|
||||||
|
|
||||||
|
**Docker Hub:**
|
||||||
- **Latest**: `bentopdf/bentopdf:latest`
|
- **Latest**: `bentopdf/bentopdf:latest`
|
||||||
- **Specific Version**: `bentopdf/bentopdf:1.0.0`
|
- **Specific Version**: `bentopdf/bentopdf:1.0.0`
|
||||||
- **Version with Prefix**: `bentopdf/bentopdf:v1.0.0`
|
- **Version with Prefix**: `bentopdf/bentopdf:v1.0.0`
|
||||||
|
|
||||||
|
**GitHub Container Registry:**
|
||||||
|
- **Latest**: `ghcr.io/alam00000/bentopdf:latest`
|
||||||
|
- **Specific Version**: `ghcr.io/alam00000/bentopdf:1.0.0`
|
||||||
|
- **Version with Prefix**: `ghcr.io/alam00000/bentopdf:v1.0.0`
|
||||||
|
|
||||||
#### Quick Release
|
#### Quick Release
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@@ -23,16 +23,24 @@ When enabled, Simple Mode will:
|
|||||||
|
|
||||||
Use the pre-built Simple Mode image directly:
|
Use the pre-built Simple Mode image directly:
|
||||||
|
|
||||||
|
**Using Docker Hub:**
|
||||||
```bash
|
```bash
|
||||||
docker run -p 3000:80 bentopdf/bentopdf-simple:latest
|
docker run -p 3000:80 bentopdf/bentopdf-simple:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Using GitHub Container Registry:**
|
||||||
|
```bash
|
||||||
|
docker run -p 3000:80 ghcr.io/alam00000/bentopdf-simple:latest
|
||||||
|
```
|
||||||
Or with Docker Compose:
|
Or with Docker Compose:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
services:
|
services:
|
||||||
bentopdf:
|
bentopdf:
|
||||||
|
# Using Docker Hub
|
||||||
image: bentopdf/bentopdf-simple:latest
|
image: bentopdf/bentopdf-simple:latest
|
||||||
|
# Or using GitHub Container Registry
|
||||||
|
# image: ghcr.io/alam00000/bentopdf-simple:latest
|
||||||
container_name: bentopdf
|
container_name: bentopdf
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
@@ -142,14 +150,24 @@ When Simple Mode is working correctly, you should see:
|
|||||||
|
|
||||||
### Normal Mode (Full Branding)
|
### Normal Mode (Full Branding)
|
||||||
|
|
||||||
|
**Docker Hub:**
|
||||||
- `bentopdf/bentopdf:latest`
|
- `bentopdf/bentopdf:latest`
|
||||||
- `bentopdf/bentopdf:v1.0.0` (versioned)
|
- `bentopdf/bentopdf:v1.0.0` (versioned)
|
||||||
|
|
||||||
|
**GitHub Container Registry:**
|
||||||
|
- `ghcr.io/alam00000/bentopdf:latest`
|
||||||
|
- `ghcr.io/alam00000/bentopdf:v1.0.0` (versioned)
|
||||||
|
|
||||||
### Simple Mode (Clean Interface)
|
### Simple Mode (Clean Interface)
|
||||||
|
|
||||||
|
**Docker Hub:**
|
||||||
- `bentopdf/bentopdf-simple:latest`
|
- `bentopdf/bentopdf-simple:latest`
|
||||||
- `bentopdf/bentopdf-simple:v1.0.0` (versioned)
|
- `bentopdf/bentopdf-simple:v1.0.0` (versioned)
|
||||||
|
|
||||||
|
**GitHub Container Registry:**
|
||||||
|
- `ghcr.io/alam00000/bentopdf-simple:latest`
|
||||||
|
- `ghcr.io/alam00000/bentopdf-simple:v1.0.0` (versioned)
|
||||||
|
|
||||||
## 🚀 Production Deployment Examples
|
## 🚀 Production Deployment Examples
|
||||||
|
|
||||||
### Internal Company Tool
|
### Internal Company Tool
|
||||||
|
|||||||
Reference in New Issue
Block a user