# 📖 OpenGuestbook ![Human coded](https://img.shields.io/badge/human-coded-green?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1wZXJzb24tc3RhbmRpbmctaWNvbiBsdWNpZGUtcGVyc29uLXN0YW5kaW5nIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjUiIHI9IjEiLz48cGF0aCBkPSJtOSAyMCAzLTYgMyA2Ii8+PHBhdGggZD0ibTYgOCA2IDIgNi0yIi8+PHBhdGggZD0iTTEyIDEwdjQiLz48L3N2Zz4=) [![License: GNU General Public License v3.0](https://img.shields.io/badge/License-GNU%20GPL--v3.0-yellow)](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` ` with your static website url and `` 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= # if a frontend url is not provided the app will default the allow all utl's which is not recommended! - 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