From 9378f022b4afef7e0c0a929f645a2fbc7d61f31f Mon Sep 17 00:00:00 2001 From: Arsen Date: Sat, 30 May 2026 21:45:50 +0500 Subject: [PATCH] instruction --- README.md | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 25341d5..c9ae135 100755 --- a/README.md +++ b/README.md @@ -1,2 +1,45 @@ -# pechatalka -Chat-robot constructor for the Svoboda typography +# Pechatalka +Site and chat-robot constructor for the Svoboda typography + +## Installation + +Before process any command think about **what it does** and whether the **paths** are specified correctly
+ + +### NGINX +#### **Create the NGINX server**
+You can copy an example of the server file from here: `/examples/nginx/pechatalka.conf`
+I prefer to rename nginx config files to domain names. For example: `pechatalka.kodorvan.tech`

+1. `cd examples/nginx`
+2. `sudo cp pechatalka.conf /etc/nginx/sites-avaiable/pechatalka.conf`
+3. `sudo nvim /etc/nginx/sites-avaiable/pechatalka.conf`
+3.1 Customize the file according to your requirements
+4. `sudo ln -s /etc/nginx/sites-avaiable/pechatalka.conf /etc/nginx/sites-enabled/pechatalka.conf`
+5. `sudo nginx -t`
+5.1 Make sure that NGINX does not throw errors, otherwise proceed to step №3 or to the instructions for generate a TLS/SSL certificate
+6. `sudo service nginx restart`
+ +#### **Add mime-type recognition for javascript modules**
+Edit the file `/etc/nginx/mime.types`

+**From:** `application/javascript js;`
+**To:** `application/javascript js mjs;` + +#### **Generate a TLS/SSL sertificate** (via [certbot](http://certbot.eff.org/) for [ubuntu](https://ubuntu.com/))
+1. `sudo apt install certbot python3-certbot-nginx`
+2. `sudo certbot certonly --nginx`
+The **domain** must already be **bound** to the **IP-address** of the server by `CNAME`, `A` or `AAAA` record + +#### **Set up firewall rules for HTTP and HTTPS requests** (for [ubuntu](https://ubuntu.com/))
+1. `sudo ufw allow "NGINX Full"`
+1.1. Make sure that the port for SSH connection is open
+2. `sudo ufw allow 22`
+3. `sudo ufw enable` + +### SystemD (or any alternative you like) +You can copy an example of the systemd file from here: `/examples/systemd/arming.service`
+1. `cd examples/systemd`
+2. `sudo cp pechatalka.service /etc/systemd/system/pechatalka.service && sudo chmod +x /etc/systemd/system/pechatalka.service`
+3. `sudo nvim /etc/systemd/system/pechatalka.service`
+3.1 Customize the file according to your requirements
+4. `sudo systemctl daemon-reload`
+3. `sudo systemctl enable pechatalka`
\ No newline at end of file