From 2ec248253100c8a0b11cd5fb0856aafcc235b146 Mon Sep 17 00:00:00 2001 From: Saturn Date: Tue, 29 Dec 2020 02:59:40 +0200 Subject: [PATCH 1/5] Alpine --- Dockerfile | 9 +++------ README.md | 19 ------------------- config.py | 6 ------ docker-compose.yml | 42 ++++++++++++++++-------------------------- install.sh | 9 --------- requirements.txt | 7 +------ 6 files changed, 20 insertions(+), 72 deletions(-) delete mode 100644 README.md delete mode 100755 install.sh diff --git a/Dockerfile b/Dockerfile index 7fff452..f391984 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,8 @@ -FROM python:3.6 -# MAINTAINER Sergey (@Kylmakalle) - +FROM python:3.6-alpine ENV PYTHONUNBUFFERED 1 RUN mkdir /src WORKDIR /src COPY requirements.txt /src/ +RUN apk update && apk add postgresql-dev gcc musl-dev jpeg-dev zlib-dev RUN pip install -r requirements.txt -COPY . /src - - +COPY . /src \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index e2eb576..0000000 --- a/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# tgvkbot -Send and receive VK messages in telegram. - -# Установка (Ubuntu 16.04) -``` -git clone https://github.com/Kylmakalle/tgvkbot -cd tgvkbot -chmod +x install.sh -./install.sh - -... - -Telegram Token: 123456789:AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLL -VK APP ID: 1234567 # можно пропустить, будет использован идентификатор Kate Mobile -``` - -# Сервисы музыки -API - https://github.com/Kylmakalle/thatmusic-api -Token Refresher - https://github.com/Kylmakalle/vk-audio-token/tree/refresh-api diff --git a/config.py b/config.py index 69b05de..3c0dba7 100644 --- a/config.py +++ b/config.py @@ -32,9 +32,3 @@ AUDIO_API_VERSION = os.environ.get('API_VERSION', '5.78') # Возможно достаточно заглушки в стиле 'tgvkbot-super-secret-key(nope)' SECRET_KEY = os.environ.get('SECRET_KEY', '!jh4wm=%s%l&jv7-lru6hg)mq2pk&rd@i*s0*c!v!zv01cf9iw') -SENTRY_URL = os.environ.get('SENTRY_URL', None) - -if SENTRY_URL: - import sentry_sdk - - sentry_sdk.init(SENTRY_URL) diff --git a/docker-compose.yml b/docker-compose.yml index 2277bf6..a08c8b2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,32 +1,22 @@ -version: '3' +version: '2' services: - db: - image: "postgres:9.6.5" - volumes: - - "dbdata:/var/lib/postgresql/data" - env_file: - - env_file - restart: always - networks: - - db_nw - tgbot: - logging: - options: - max-size: "10M" - max-file: "10" + app: build: . - volumes: - - .:/src - env_file: - - env_file - command: bash -c "python manage.py makemigrations data && python manage.py migrate data && python telegram.py" + command: sh -c "python manage.py makemigrations data && python manage.py migrate data && python telegram.py" restart: always - networks: - - db_nw + environment: + BOT_TOKEN: depends_on: - db -networks: - db_nw: - driver: bridge + db: + image: postgres:9-alpine + volumes: + - db:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_DB: 'tgvkbot' + POSTGRES_PASSWORD: 'postgres' + volumes: - dbdata: + db: + driver: local \ No newline at end of file diff --git a/install.sh b/install.sh deleted file mode 100755 index bb17dc8..0000000 --- a/install.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash -sudo apt-get update && sudo apt-get upgrade && \ -sudo apt-get install docker.io -y && \ -sudo usermod -aG docker $(whoami) && \ -sudo curl -L https://github.com/docker/compose/releases/download/1.20.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose && \ -sudo chmod +x /usr/local/bin/docker-compose && \ -python3 set_env.py && \ -sudo docker-compose build && \ -sudo docker-compose up -d diff --git a/requirements.txt b/requirements.txt index 05f7fcf..7bf3fdf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,12 +3,7 @@ aiohttp==2.3.10 aiovk==1.3.0 async-timeout==2.0.1 attrs==17.4.0 -Babel==2.5.3 -certifi==2018.1.18 -chardet==3.0.4 Django==2.0.4 -idna==2.6 -idna-ssl==1.0.1 multidict==4.1.0 Pillow==5.1.0 psycopg2-binary==2.7.4 @@ -17,4 +12,4 @@ sentry-sdk==0.9.0 ujson==1.35 urllib3==1.25.3 wget==3.2 -yarl==1.1.1 +yarl==1.1.1 \ No newline at end of file From 9a9ce9d247f0f61da0ac0f09fb2d31a0c2390a32 Mon Sep 17 00:00:00 2001 From: Saturn Date: Thu, 31 Dec 2020 07:16:40 +0200 Subject: [PATCH 2/5] Fixed stickers --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index f391984..a7540a4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,6 +3,7 @@ ENV PYTHONUNBUFFERED 1 RUN mkdir /src WORKDIR /src COPY requirements.txt /src/ -RUN apk update && apk add postgresql-dev gcc musl-dev jpeg-dev zlib-dev +RUN apk update && apk add postgresql-dev gcc musl-dev jpeg-dev zlib-dev libwebp-dev RUN pip install -r requirements.txt +RUN apk del musl-dev gcc COPY . /src \ No newline at end of file From c8f5ba4b4b9ca8ae3e47fa81ee7953469d3b9de4 Mon Sep 17 00:00:00 2001 From: Saturn Date: Sun, 3 Jan 2021 04:23:09 +0200 Subject: [PATCH 3/5] Optimized Dockerfile --- Dockerfile | 11 ++++++----- docker-compose.yml | 1 - 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index a7540a4..50293e4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,10 @@ FROM python:3.6-alpine ENV PYTHONUNBUFFERED 1 -RUN mkdir /src WORKDIR /src COPY requirements.txt /src/ -RUN apk update && apk add postgresql-dev gcc musl-dev jpeg-dev zlib-dev libwebp-dev -RUN pip install -r requirements.txt -RUN apk del musl-dev gcc -COPY . /src \ No newline at end of file +RUN apk update && apk add postgresql-dev gcc musl-dev jpeg-dev zlib-dev libwebp-dev && \ + pip install -r requirements.txt && \ + apk del musl-dev gcc && \ + rm -rf /var/cache/apk/* +COPY . /src +ENTRYPOINT sh -c "python manage.py makemigrations data && python manage.py migrate data && python telegram.py" \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index a08c8b2..e9251f8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,6 @@ version: '2' services: app: build: . - command: sh -c "python manage.py makemigrations data && python manage.py migrate data && python telegram.py" restart: always environment: BOT_TOKEN: From 312b7cfd2ca331d9f04c75d990ccbefea4e30b9b Mon Sep 17 00:00:00 2001 From: Saturn Date: Mon, 18 Jan 2021 22:36:59 +0200 Subject: [PATCH 4/5] alpine -> slim --- Dockerfile | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 50293e4..ef06f48 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,11 @@ -FROM python:3.6-alpine +FROM python:3.6-slim ENV PYTHONUNBUFFERED 1 WORKDIR /src COPY requirements.txt /src/ -RUN apk update && apk add postgresql-dev gcc musl-dev jpeg-dev zlib-dev libwebp-dev && \ +RUN apt-get update && \ + apt-get install -y gcc && \ pip install -r requirements.txt && \ - apk del musl-dev gcc && \ - rm -rf /var/cache/apk/* + apt-get remove -y --auto-remove gcc && \ + apt-get clean && rm -rf /var/lib/apt/lists/* COPY . /src -ENTRYPOINT sh -c "python manage.py makemigrations data && python manage.py migrate data && python telegram.py" \ No newline at end of file +ENTRYPOINT bash -c "python manage.py makemigrations data && python manage.py migrate data && python telegram.py" \ No newline at end of file From afe14e96b3cc98ac3efb8fd1d820d22158b97d87 Mon Sep 17 00:00:00 2001 From: Maksim Pashkov Date: Wed, 10 Feb 2021 23:57:43 +0200 Subject: [PATCH 5/5] Multi-stage --- Dockerfile | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index ef06f48..ecd38a8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,10 @@ +FROM python:3.6-slim AS builder +RUN apt-get update && apt-get install -y gcc +COPY requirements.txt . +RUN pip install --user -r requirements.txt + FROM python:3.6-slim -ENV PYTHONUNBUFFERED 1 -WORKDIR /src -COPY requirements.txt /src/ -RUN apt-get update && \ - apt-get install -y gcc && \ - pip install -r requirements.txt && \ - apt-get remove -y --auto-remove gcc && \ - apt-get clean && rm -rf /var/lib/apt/lists/* -COPY . /src +COPY --from=builder /root/.local /root/.local +COPY . . +ENV PATH=/root/.local/bin:$PATH ENTRYPOINT bash -c "python manage.py makemigrations data && python manage.py migrate data && python telegram.py" \ No newline at end of file