Система обновлений и установщик

This commit is contained in:
Sergey 2021-02-23 22:19:24 +03:00
parent 259840b40e
commit 03496f5d44
3 changed files with 50 additions and 6 deletions

View File

@ -3,11 +3,12 @@ version: '3'
services:
app:
image: kylmakalle/tgvkbot:latest
container_name: tgvkbot
logging:
options:
max-size: "10M"
max-file: "10"
image: kylmakalle/tgvkbot:latest
restart: always
env_file:
- env_file
@ -17,6 +18,7 @@ services:
- db
db:
image: postgres:9-alpine
container_name: tgvkbot_db
volumes:
- "dbdata:/var/lib/postgresql/data"
restart: always
@ -25,4 +27,4 @@ services:
POSTGRES_PASSWORD: 'postgres'
volumes:
dbdata:
dbdata:

40
install.sh Executable file
View File

@ -0,0 +1,40 @@
sudo true
if [ ! `which docker` ]; then
echo "🔨 Устанавливаем docker..."
# Alternatively you can use the official docker install script
wget -qO- https://get.docker.com/ | sh
fi
if [ ! `which docker-compose` ]; then
echo "🔨 Устанавливаем docker-compose..."
# Install docker-compose
COMPOSE_VERSION=`git ls-remote https://github.com/docker/compose | grep refs/tags | grep -oE "[0-9]+\.[0-9][0-9]+\.[0-9]+$" | sort --version-sort | tail -n 1`
sudo sh -c "curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose"
sudo chmod +x /usr/local/bin/docker-compose
sudo sh -c "curl -L https://raw.githubusercontent.com/docker/compose/${COMPOSE_VERSION}/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose"
fi
echo "⚙️ Настраиваем переменные окружения..."
python3 set_env.py
if [ ! "$(docker ps -a | grep <name>)" ]; then
echo "🔄 Поднимаем систему обновлений..."
docker run -d \
--name watchtower \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-e TZ='Europe/Moscow' \
-e WATCHTOWER_CLEANUP='true' \
-e WATCHTOWER_INCLUDE_STOPPED='true' \
-e WATCHTOWER_MONITOR_ONLY='false' \
-e WATCHTOWER_LABEL_ENABLE='true' \
containrrr/watchtower:latest
fi
echo "🚀 Запускаем бота..."
docker-compose up -d
echo "✅ Готово"

View File

@ -1,7 +1,8 @@
from config import API_VERSION, VK_APP_ID
from urllib.request import urlopen, Request
from urllib.error import HTTPError
from urllib.parse import urlencode
from urllib.request import urlopen, Request
from config import API_VERSION, VK_APP_ID
ENV_FILE_TEMPLATE = """
POSTGRES_DB=tgvkbot
@ -56,9 +57,10 @@ def set_env():
break
except HTTPError:
print('❌ VK APP ID неверный, попробуйте снова!')
with open('env_file', 'w') as env_file:
env_file.write(ENV_FILE_TEMPLATE % {'tg_token': tg_token, 'vk_app_id': vk_app_id or VK_APP_ID}, 'allowed_user_ids': '')
env_file.write(s
ENV_FILE_TEMPLATE % {'tg_token': tg_token, 'vk_app_id': vk_app_id or VK_APP_ID, 'allowed_user_ids': ''})
print('✅ Успешно!')