Update build workflow and README for Docker image configuration and registry logins
This commit is contained in:
parent
36c616d665
commit
f803541ba0
@ -24,12 +24,24 @@ jobs:
|
|||||||
token: ${{ secrets.GH_TOKEN }}
|
token: ${{ secrets.GH_TOKEN }}
|
||||||
path: homebrewery
|
path: homebrewery
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
- name: Login to Gitea Container Registry
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
registry: git.morlana.online
|
registry: git.morlana.online
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.DOCKER_TOKEN }}
|
password: ${{ secrets.DOCKER_TOKEN }}
|
||||||
|
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Login to Morlana Container Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.MORLANA_DOCKER_USER }}
|
||||||
|
password: ${{ secrets.MORLANA_DOCKER_PASSWORD }}
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@v3
|
||||||
@ -55,3 +67,19 @@ jobs:
|
|||||||
tags: |
|
tags: |
|
||||||
git.morlana.online/${{ github.repository_owner }}/homebrewery:latest
|
git.morlana.online/${{ github.repository_owner }}/homebrewery:latest
|
||||||
git.morlana.online/${{ github.repository_owner }}/homebrewery:${{ github.event.release.tag_name }}
|
git.morlana.online/${{ github.repository_owner }}/homebrewery:${{ github.event.release.tag_name }}
|
||||||
|
reg.morlana.net/homebrewery:latest
|
||||||
|
reg.morlana.net/homebrewery:${{ github.event.release.tag_name }}
|
||||||
|
kosmos367/homebrewery:latest
|
||||||
|
kosmos367/homebrewery:${{ github.event.release.tag_name }}
|
||||||
|
|
||||||
|
update-description:
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: Docker Hub Description
|
||||||
|
uses: peter-evans/dockerhub-description@v4
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
repository: peterevans/dockerhub-description
|
||||||
|
136
README.md
136
README.md
@ -1,4 +1,134 @@
|
|||||||
# homebrewery-docker
|
# Homebrewery (Unofficial) Docker Image
|
||||||
|
|
||||||
Create authentic looking D&D homebrews using only markdown.
|
An unofficial, prebuilt Docker image for [NaturalCrit’s Homebrewery](https://github.com/naturalcrit/homebrewery), with sensible defaults and full configuration via environment variables. Published to Docker Hub and mirrored on my Gitea instance to avoid Docker Hub pull-rate limits.
|
||||||
This is an automatic build of the docker image from official repository at: https://github.com/naturalcrit/homebrewery
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Prebuilt image** based on `node:22-alpine`
|
||||||
|
- Auto-fetches and builds the latest Homebrewery release (tags mirror upstream)
|
||||||
|
- Configure entirely via **environment variables**—no need to mount a JSON file
|
||||||
|
- Optional mounting of custom images/fonts
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Image Names & Tags
|
||||||
|
|
||||||
|
- **Docker Hub**: `kosmos367/homebrewery`
|
||||||
|
- **Gitea Registry**: `git.morlana.online/f.weber/homebrewery`
|
||||||
|
- **Tags**: Mirror upstream releases (e.g. `v3.14.3`, `v3.15.0`, …). Updated twice daily.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Environment Variables
|
||||||
|
|
||||||
|
| Variable | Default | Description |
|
||||||
|
| ---------------------- | ---------------------------------------- | -------------------------------- |
|
||||||
|
| `NODE_ENV` | `docker` | Node environment |
|
||||||
|
| `PORT` | `8000` | Port on which Homebrewery serves |
|
||||||
|
| `HB_HOST` | `homebrewery.local.naturalcrit.com:8000` | Hostname for generated config |
|
||||||
|
| `HB_NATURALCRIT_URL` | `local.naturalcrit.com:8010` | Base URL of NaturalCrit site |
|
||||||
|
| `HB_SECRET` | `secret` | Session secret |
|
||||||
|
| `HB_ENABLE_V3` | `true` | Enable v3 editor mode |
|
||||||
|
| `HB_ENABLE_THEMES` | `true` | Enable theming support |
|
||||||
|
| `HB_PUBLIC_URL` | `https://homebrewery.naturalcrit.com` | Public URL for links |
|
||||||
|
| `HB_LOCAL_ENVIRONMENT` | `docker` | Local environment tag |
|
||||||
|
| `HB_DB_URI` | `mongodb://mongodb/homebrewery` | MongoDB connection URI |
|
||||||
|
| `HB_IMAGES` | `null` | Path for static images |
|
||||||
|
| `HB_FONTS` | `null` | Path for static fonts |
|
||||||
|
|
||||||
|
> **Tip**: If you prefer, mount your own JSON config at `/usr/src/app/config/docker.json` instead of using env vars.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exposed Ports & Volumes
|
||||||
|
|
||||||
|
- **Port**: `8000/tcp` (or as set via `PORT`)
|
||||||
|
- **Optional volumes**:
|
||||||
|
|
||||||
|
- `/usr/src/app/images` (use with `HB_IMAGES`)
|
||||||
|
- `/usr/src/app/fonts` (use with `HB_FONTS`)
|
||||||
|
- Data persistence is handled via MongoDB.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Example: `docker-compose.yml`
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
version: "3.8"
|
||||||
|
services:
|
||||||
|
homebrewery:
|
||||||
|
image: kosmos367/homebrewery:latest
|
||||||
|
container_name: homebrewery
|
||||||
|
environment:
|
||||||
|
HB_HOST: "homebrewery.example.com"
|
||||||
|
HB_SECRET: "your-secret-key"
|
||||||
|
HB_PUBLIC_URL: "https://homebrewery.example.com"
|
||||||
|
HB_DB_URI: "mongodb://mongo:27017/homebrewery"
|
||||||
|
# Optional mounts:
|
||||||
|
# HB_IMAGES: '/usr/src/app/images'
|
||||||
|
# HB_FONTS: '/usr/src/app/fonts'
|
||||||
|
ports:
|
||||||
|
- "8000:8000"
|
||||||
|
# Optional volumes for customization
|
||||||
|
#volumes:
|
||||||
|
# - images-data:/usr/src/app/images
|
||||||
|
# - fonts-data:/usr/src/app/fonts
|
||||||
|
depends_on:
|
||||||
|
- mongo
|
||||||
|
|
||||||
|
mongo:
|
||||||
|
image: mongo:latest
|
||||||
|
container_name: homebrewery-db
|
||||||
|
volumes:
|
||||||
|
- mongo-data:/data/db
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
mongo-data:
|
||||||
|
# Optional volumes for customization
|
||||||
|
# images-data:
|
||||||
|
# fonts-data:
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Repository & Registry Links
|
||||||
|
|
||||||
|
- **Gitea repository** (Dockerfile, CI/CD, etc.):
|
||||||
|
[https://git.morlana.online/f.weber/homebrewery-docker](https://git.morlana.online/f.weber/homebrewery-docker)
|
||||||
|
- **Gitea Docker registry**:
|
||||||
|
[https://git.morlana.online/f.weber/homebrewery-docker/packages](https://git.morlana.online/f.weber/homebrewery-docker/packages)
|
||||||
|
- **Upstream Homebrewery**:
|
||||||
|
[https://github.com/naturalcrit/homebrewery](https://github.com/naturalcrit/homebrewery)
|
||||||
|
|
||||||
|
**Pull example for all available registries:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker pull kosmos367/homebrewery
|
||||||
|
|
||||||
|
docker pull git.morlana.online/f.weber/homebrewery
|
||||||
|
|
||||||
|
docker pull reg.morlana.net/homebrewery
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Maintainer
|
||||||
|
|
||||||
|
Florian Weber ‹[kosmos@morlana.net](mailto:kosmos@morlana.net)›
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This Docker wrapper is released under the **MIT License**, same as the original Homebrewery project.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> ⚠️ **Disclaimer**
|
||||||
|
> This is **not** an official Homebrewery image. It is provided “as-is” with no affiliation to NaturalCrit. Use at your own risk.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Feel free to suggest tweaks or additional sections—happy to refine!
|
||||||
|
Loading…
x
Reference in New Issue
Block a user