Add automated Docker Hub publishing workflow

- Add GitHub Actions workflow for building and publishing Docker images
- Trigger on version tags (v*) to publish to Docker Hub
- Update README with Docker Hub deployment instructions
This commit is contained in:
2025-10-20 20:22:43 -04:00
parent 2bf87e6d72
commit c7f20bc04e
2 changed files with 74 additions and 4 deletions

View File

@@ -36,13 +36,36 @@ This project is a simple Flask API for demonstrating AR content retrieval for ba
## Setup
### Option 1: Docker (Recommended)
### Option 1: Docker Hub (Recommended)
Pull and run the pre-built image from Docker Hub:
```bash
# Pull the latest image
docker pull mattintech/kcapdemoserver:latest
# Run the container
docker run -p 5555:5000 \
-e SECRET_KEY=your-secret-key-here \
-e DATABASE_URL=sqlite:///data/kcap_demo.db \
-v $(pwd)/data:/app/data \
mattintech/kcapdemoserver:latest
```
Or use a specific version:
```bash
docker pull mattintech/kcapdemoserver:v1.0.0
docker run -p 5555:5000 --env-file .env mattintech/kcapdemoserver:v1.0.0
```
### Option 2: Docker Compose
1. **Clone the Repository:**
```bash
git clone <repository_url>
cd <repository_folder>
git clone https://github.com/mattintech/KCAPDemoServer.git
cd KCAPDemoServer
```
2. **Configure Environment:**
@@ -75,7 +98,7 @@ docker-compose logs -f
docker-compose down
```
### Option 2: Local Python Setup
### Option 3: Local Python Setup
1. **Clone the Repository:**
@@ -149,6 +172,18 @@ The following barcode types are available:
└── generate_barcode.html # Barcode generation page
```
## Docker Hub
Pre-built Docker images are automatically published to Docker Hub on each release:
**Repository**: [mattintech/kcapdemoserver](https://hub.docker.com/r/mattintech/kcapdemoserver)
**Available Tags**:
- `latest` - Most recent release
- `v1.0.0`, `v1.0.1`, etc. - Specific version releases
For maintainers: See [DOCKER_HUB_SETUP.md](DOCKER_HUB_SETUP.md) for information on configuring automated builds.
## Implementation Notes
* The application is designed as a single server hosting both the API endpoints and admin interface.