135 lines
4.6 KiB
Markdown
135 lines
4.6 KiB
Markdown
# Homebrewery (Unofficial) Docker Image
|
||
|
||
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.
|
||
|
||
---
|
||
|
||
## 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!
|