Compare commits

...

13 Commits

Author SHA1 Message Date
Alexey Skobkin be4458032d
Adding link to Drone environment variables reference.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is failing Details
2022-08-07 20:59:43 +03:00
Alexey Skobkin c52ab29263
Adding Docker image build to Drone CI configuration.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is failing Details
2022-08-07 20:56:42 +03:00
mitsuha_s 41b7eb32b6 add running the bot and runnig update with Docker documentation to README.md; add .env.dist to .dockerignore; set default value to LOG_LEVEL in .env.dist
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is failing Details
2022-08-05 00:40:22 +03:00
mitsuha_s 8a82511618 add optional variables in .env.dist; remove *.db from .gitignore; add build command in docker-compose.yml
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-07-27 18:20:58 +03:00
mitsuha_s 90ac75fc11 add .env.dist
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-07-26 23:16:48 +00:00
mitsuha_s 7e466a9384 add default values from environment variables 2022-07-26 23:15:25 +00:00
mitsuha_s a3327a505c remove invalid values in docker-compose.yml and add little documentation for environment values
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-07-26 19:38:38 +00:00
mitsuha_s dcc7dda040 add docker-compose.yml
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-07-26 18:07:34 +00:00
mitsuha_s 505e5f1ad5 code style changes
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-07-25 23:29:06 +00:00
mitsuha_s 6381661232 add other used environment variables
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-07-25 22:47:30 +00:00
mitsuha_s 2b4684275e add .dockerignore
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-07-22 13:49:54 +00:00
mitsuha_s dcba2e3b80 add python version in Dockerfile and change PYTHONUNBUFFERED value to 1 2022-07-22 13:43:03 +00:00
mitsuha_s b8c91b351a add Dockerfile
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-07-21 21:14:56 +00:00
7 changed files with 125 additions and 2 deletions

17
.dockerignore Normal file
View File

@ -0,0 +1,17 @@
# Python
.venv
__pycache__
# GIT
.gitignore
#CI configuration
.drone.yml
pylama.ini
# Bot documentation
README.md
# Environment
.env
.env.dist

View File

@ -30,3 +30,23 @@ steps:
- pull_request
branch:
exclude: master
- name: docker-build
# https://github.com/drone/drone-plugin-index/blob/main/plugins/docker/original.md
image: plugins/docker
when:
branch:
- master
event:
- push
settings:
username:
from_secret: docker_username
password:
from_secret: docker_token
repo:
from_secret: docker_repo
tags:
- latest
# https://docs.drone.io/pipeline/environment/reference/
- ${DRONE_COMMIT_SHA:0:10}
- ${DRONE_TAG}

8
.env.dist Normal file
View File

@ -0,0 +1,8 @@
RSSBOT_TG_TOKEN=1234567890:yourbotstoken
# Optional variables
# RSSBOT_DSN=xxx
# POSTGRES_USER=xxx
# POSTGRES_PASSWORD=xxx
# POSTGRES_DB=xxx
# LOG_LEVEL=INFO

4
.gitignore vendored
View File

@ -5,5 +5,5 @@
/.venv
/__pycache__
# Database
/*.db
# Environment
.env

21
Dockerfile Normal file
View File

@ -0,0 +1,21 @@
FROM python:3.10-alpine
WORKDIR /bot
COPY . .
RUN pip install -r requirements.txt
ENV PYTHONUNBUFFERED=1
# App settings
# https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING
ENV RSSBOT_DSN=postgres://username:password@hostname/database_name
# https://core.telegram.org/bots#6-botfather
ENV RSSBOT_TG_TOKEN=1234567890:yourbotstoken
# https://docs.python.org/3/howto/logging.html#logging-levels
ENV LOG_LEVEL=INFO
ENTRYPOINT [ "python" ]
CMD [ "bot.py" ]

View File

@ -43,4 +43,29 @@ python bot.py
export RSSBOT_TG_TOKEN=xxx
export RSSBOT_DSN=xxx
python update.py
```
## Runnig the bot with Docker
```shell
docker build . -t tg_bot
docker run tg_bot
```
## Runnig the update with Docker
```shell
docker run tg_bot update.py
```
## Running the bot with docker-compose
```shell
docker-compose up
```
## Running the update with docker-compose
```shell
docker-compose run app update.py
```

32
docker-compose.yml Normal file
View File

@ -0,0 +1,32 @@
version: '3.7'
services:
app:
build: .
image: miroslavsckaya/tg_rss_bot
environment:
# DSN schema: postgres://username:password@hostname/database_name
# https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING
- "RSSBOT_DSN=postgres://${BOT_DB_USER:-bot}:${BOT_DB_PASSWORD:-dev}@${BOT_DB_HOST:-db}/${BOT_DB_NAME:-bot}"
# https://core.telegram.org/bots#6-botfather
- "RSSBOT_TG_TOKEN=${RSSBOT_TG_TOKEN}"
# https://docs.python.org/3/howto/logging.html#logging-levels
- "LOG_LEVEL=${LOG_LEVEL:-INFO}"
depends_on:
- postgres
restart: unless-stopped
db:
image: postgres:14-alpine
environment:
# Postgres settings
# https://hub.docker.com/_/postgres
- "POSTGRES_USER=${BOT_DB_USER:-bot}"
- "POSTGRES_PASSWORD=${BOT_DB_PASSWORD:-dev}"
- "POSTGRES_DB=${BOT_DB_NAME:-bot}"
volumes:
- db-data:/var/lib/postgresql/data
restart: unless-stopped
volumes:
db-data: