repositorypackage
0.0.0-20220805190635-9f2e464ddfc1
Repository: https://github.com/elolpuer/diarybot.git
Documentation: pkg.go.dev
# Packages
No description provided by the author
# README
Diary Bot
Link
Technology stack
Platform: Telegram Bots
Language: Go
Database: PostgreSQL
In-memory data store: Redis
Manual deployment
Connect to the server and it's configuration
ssh root@your_server_ip
adduser egorg
usermod -aG sudo egorg
Installing packages and creating a database
Postgres
sudo apt update
sudo apt install postgresql postgresql-contrib
sudo -i -u postgres
psql
create database somedb;
createuser egorg;
ALTER USER egorg WITH ENCRYPTED PASSWORD 'pass';
alter user egorg superuser createrole somedb;
alter database somedb owner to egorg;
\q
psql -h localhost -p 5432 -U egorg somedb
\i pathToBot/cfg/db.sql
Golang
sudo apt install golang
go version
mkdir ~/workplace/src/github.com/elolpuer
nano ~/.profile
export GOPATH=$HOME/workplace\
export PATH=$PATH:$GOPATH/bin\
export PATH=$PATH:$GOPATH/bin:/usr/local/go/bin
~/.profile
Redis
sudo apt install redis-server
supervised systemd
sudo systemctl restart redis.service
sudo systemctl status redis
Git
sudo apt install git
Clonning project from github and building
cd ~/workplace/src/github.com/elolpuer
git clone https://github.com/elolpuer/DiaryBot.git
go build main.go
Adding .env
In the DiaryBot directory create file .envnano .env
Add this data to file
Token=
TokenDev=
PgHost=
PgPort=
PgUser=
PgPass=
PgDB=
SSLmode=require
RedisHost=
RedisPort=
RedisPassword=""
Running daemon
cd ../../etc/systemd/system/
sudo nano gosomething.service
Insert this:
[Unit]\
Description = Something Description
[Service]\
WorkingDirectory=/root/workplace/src/github.com/elolpuer/someproject\
ExecStart=/root/workplace/src/github.com/elolpuer/someproject/main\
User=root\
Group=root\
Restart=always
[Install]\
WantedBy=multi-user.target
Reboot and run daemon
sudo reboot
ssh root@your_server_ip
cd ../../etc/systemd/system/
sudo systemctl enable gosomething.service
sudo systemctl daemon-reload
sudo systemctl start gosomethint.service
Some screenshots



