This commit is contained in:
2026-05-30 21:48:37 +05:00
parent 9378f022b4
commit 323beeb886

View File

@@ -1,15 +1,16 @@
# Pechatalka # Pechatalka
Site and chat-robot constructor for the Svoboda typography Site and chat-robot constructor for the Svoboda typography
## Installation # Installation
Before process any command think about **what it does** and whether the **paths** are specified correctly<br> Before process any command think about **what it does** and whether the **paths** are specified correctly<br>
### NGINX ## NGINX
#### **Create the NGINX server**<br> ### **Create the NGINX server**<br>
You can copy an example of the server file from here: `/examples/nginx/pechatalka.conf`<br> You can copy an example of the server file from here: `/examples/nginx/pechatalka.conf`<br>
<small><i>I prefer to rename nginx config files to domain names. For example: `pechatalka.kodorvan.tech`</i></small><br><br> <small><i>I prefer to rename nginx config files to domain names. For example: `pechatalka.kodorvan.tech`</i></small><br>
1. `cd examples/nginx`<br> 1. `cd examples/nginx`<br>
2. `sudo cp pechatalka.conf /etc/nginx/sites-avaiable/pechatalka.conf`<br> 2. `sudo cp pechatalka.conf /etc/nginx/sites-avaiable/pechatalka.conf`<br>
3. `sudo nvim /etc/nginx/sites-avaiable/pechatalka.conf`<br> 3. `sudo nvim /etc/nginx/sites-avaiable/pechatalka.conf`<br>
@@ -19,23 +20,23 @@ You can copy an example of the server file from here: `/examples/nginx/pechatalk
<small>5.1 <i>Make sure that <b>NGINX does not throw errors</b>, otherwise proceed to step №3 or to the instructions for generate a TLS/SSL certificate</i></small><br> <small>5.1 <i>Make sure that <b>NGINX does not throw errors</b>, otherwise proceed to step №3 or to the instructions for generate a TLS/SSL certificate</i></small><br>
6. `sudo service nginx restart`<br> 6. `sudo service nginx restart`<br>
#### **Add mime-type recognition for javascript modules**<br> ### **Add mime-type recognition for javascript modules**<br>
<small>Edit the file `/etc/nginx/mime.types`</small><br><br> <small>Edit the file `/etc/nginx/mime.types`</small><br><br>
**From:** `application/javascript js;`<br> **From:** `application/javascript js;`<br>
**To:** `application/javascript js mjs;` **To:** `application/javascript js mjs;`
#### **Generate a TLS/SSL sertificate** (via [certbot](http://certbot.eff.org/) for [ubuntu](https://ubuntu.com/))<br> ### **Generate a TLS/SSL sertificate** (via [certbot](http://certbot.eff.org/) for [ubuntu](https://ubuntu.com/))<br>
1. `sudo apt install certbot python3-certbot-nginx`<br> 1. `sudo apt install certbot python3-certbot-nginx`<br>
2. `sudo certbot certonly --nginx`<br> 2. `sudo certbot certonly --nginx`<br>
<small><i>The **domain** must already be **bound** to the **IP-address** of the server by `CNAME`, `A` or `AAAA` record</i></small> <small><i>The **domain** must already be **bound** to the **IP-address** of the server by `CNAME`, `A` or `AAAA` record</i></small>
#### **Set up firewall rules for HTTP and HTTPS requests** (for [ubuntu](https://ubuntu.com/))<br> ### **Set up firewall rules for HTTP and HTTPS requests** (for [ubuntu](https://ubuntu.com/))<br>
1. `sudo ufw allow "NGINX Full"`<br> 1. `sudo ufw allow "NGINX Full"`<br>
<small>1.1. <i>Make sure that the <b>port for SSH connection</b> is open</i></small><br> <small>1.1. <i>Make sure that the <b>port for SSH connection</b> is open</i></small><br>
2. `sudo ufw allow 22`<br> 2. `sudo ufw allow 22`<br>
3. `sudo ufw enable` 3. `sudo ufw enable`
### SystemD (or any alternative you like) ## SystemD (or any alternative you like)
You can copy an example of the systemd file from here: `/examples/systemd/arming.service`<br> You can copy an example of the systemd file from here: `/examples/systemd/arming.service`<br>
1. `cd examples/systemd`<br> 1. `cd examples/systemd`<br>
2. `sudo cp pechatalka.service /etc/systemd/system/pechatalka.service && sudo chmod +x /etc/systemd/system/pechatalka.service`<br> 2. `sudo cp pechatalka.service /etc/systemd/system/pechatalka.service && sudo chmod +x /etc/systemd/system/pechatalka.service`<br>