Система обновлений и установщик
This commit is contained in:
parent
259840b40e
commit
03496f5d44
@ -3,11 +3,12 @@ version: '3'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
|
image: kylmakalle/tgvkbot:latest
|
||||||
|
container_name: tgvkbot
|
||||||
logging:
|
logging:
|
||||||
options:
|
options:
|
||||||
max-size: "10M"
|
max-size: "10M"
|
||||||
max-file: "10"
|
max-file: "10"
|
||||||
image: kylmakalle/tgvkbot:latest
|
|
||||||
restart: always
|
restart: always
|
||||||
env_file:
|
env_file:
|
||||||
- env_file
|
- env_file
|
||||||
@ -17,6 +18,7 @@ services:
|
|||||||
- db
|
- db
|
||||||
db:
|
db:
|
||||||
image: postgres:9-alpine
|
image: postgres:9-alpine
|
||||||
|
container_name: tgvkbot_db
|
||||||
volumes:
|
volumes:
|
||||||
- "dbdata:/var/lib/postgresql/data"
|
- "dbdata:/var/lib/postgresql/data"
|
||||||
restart: always
|
restart: always
|
||||||
@ -25,4 +27,4 @@ services:
|
|||||||
POSTGRES_PASSWORD: 'postgres'
|
POSTGRES_PASSWORD: 'postgres'
|
||||||
|
|
||||||
volumes:
|
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.error import HTTPError
|
||||||
from urllib.parse import urlencode
|
from urllib.parse import urlencode
|
||||||
|
from urllib.request import urlopen, Request
|
||||||
|
|
||||||
|
from config import API_VERSION, VK_APP_ID
|
||||||
|
|
||||||
ENV_FILE_TEMPLATE = """
|
ENV_FILE_TEMPLATE = """
|
||||||
POSTGRES_DB=tgvkbot
|
POSTGRES_DB=tgvkbot
|
||||||
@ -56,9 +57,10 @@ def set_env():
|
|||||||
break
|
break
|
||||||
except HTTPError:
|
except HTTPError:
|
||||||
print('❌ VK APP ID неверный, попробуйте снова!')
|
print('❌ VK APP ID неверный, попробуйте снова!')
|
||||||
|
|
||||||
with open('env_file', 'w') as env_file:
|
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('✅ Успешно!')
|
print('✅ Успешно!')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user