# 📖 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 Guestbook for small static websites made using python and flask. OpenGuestbook does not use databases 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. - Easy setup, and low CPU and RAM use. - Privacy Friendly: No tracking, no cookies, AD blocker friendly. - Notification support via Notfy.sh! ## Deployment OpenGuestbook comes in two parts, a backend that needs to be hosted on a server, and a JS file that cn be embedded directly on your website. ### Backend 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. #### 1) 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 -To-do