52 lines
2.6 KiB
Markdown
52 lines
2.6 KiB
Markdown
# 📖 OpenGuestbook
|
|

|
|
[](https://www.gnu.org/licenses/gpl-3.0.en.html#license-text)
|
|
|
|
OpenGuestbook is a self-hosted lightweight open-source Guestbook for small static websites made using python & flask. OpenGuestbook does not use a database or an admin panel for managing entries. Instead it saves each guestbook entry as a file with a human readable format in a `/guestbook` folder in your server. The comments can be moderated by deleting or editing files manually.
|
|
|
|
## Features
|
|
- No login required
|
|
- No database required
|
|
- Limited total comments per day.
|
|
- Privacy Friendly: No tracking, no cookies, AD blocker friendly.
|
|
- Notification support via ntfy.sh!
|
|
|
|
## Deployment
|
|
OpenGuestbook comes in two parts, a backend that needs to be hosted on a server, and a JS file that can be embedded directly on your website.
|
|
### Deployment with Docker
|
|
For production, running via Docker Compose is recommended.
|
|
ssh in to your server and clone the repository:
|
|
```
|
|
git clone https://code.gorkyver.com/Gorkem/OpenGuestbook.git
|
|
```
|
|
get in directory and create docker-compose.yml:
|
|
```
|
|
cd OpenGuestbook
|
|
nano docker-compose.yml
|
|
```
|
|
Replace` <https://yourwebsite.com>` with your static website url and `<ntfy-topic>` with your [ntfy.sh topic](https://docs.ntfy.sh) to enable notificatons.
|
|
#### Create docker-compose.yml
|
|
```yaml
|
|
version: '3.8'
|
|
services:
|
|
guestbook:
|
|
build: .
|
|
container_name: OpenGuestbook
|
|
restart: always
|
|
ports:
|
|
- "5000:5000"
|
|
volumes:
|
|
- ./guestbook_data:/OpenGuestbook/guestbook # Persist comments on host to make it easily reachable
|
|
environment:
|
|
- FRONTEND_URL=<https://yourwebsite.com> # if a frontend url is not provided the app will default the allow all utl's which is not recommended!
|
|
- NTFY_TOPIC=<ntfy-topic> # for psuh notification support (optional)
|
|
```
|
|
build & run container with:
|
|
```
|
|
docker compose up -d --build
|
|
```
|
|
and your guesbook server should be up and running on port 5000 on your machine!
|
|
|
|
### Front-end Script
|
|
|