Система обновлений и установщик
This commit is contained in:
parent
259840b40e
commit
03496f5d44
@ -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
40
install.sh
Executable 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 "✅ Готово"
|
||||
|
10
setenv.py
10
setenv.py
@ -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('✅ Успешно!')
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user