From ae06a33fa851cf99e9d7b2313d26fc34a39ea805 Mon Sep 17 00:00:00 2001 From: kdh8219 Date: Sat, 9 Dec 2023 00:25:33 +0900 Subject: [PATCH] Dockerize the app --- .gitignore | 1 + Dockerfile | 13 +++++++++++++ README.md | 25 +++++++++++++++++++++---- docker-compose.example.yml | 13 +++++++++++++ setup.md | 12 ++++++++++++ src/__init__.py | 0 src/choose_sentence.py | 2 +- 7 files changed, 61 insertions(+), 5 deletions(-) create mode 100644 Dockerfile create mode 100644 docker-compose.example.yml create mode 100644 setup.md create mode 100644 src/__init__.py diff --git a/.gitignore b/.gitignore index 4c84445..799382f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ setting.py google_api.json __pycache__/ .env +docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ce3e725 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM python:bookworm + +WORKDIR /app + +COPY src src +COPY main.py main.py +COPY requirements.txt requirements.txt + +# RUN python -m venv venv +# RUN source ./venv/bin/activate +RUN pip install -r requirements.txt + +CMD ["python", "main.py"] \ No newline at end of file diff --git a/README.md b/README.md index ea7102c..ed5ea43 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,25 @@ [![no github badge](https://nogithub.codeberg.page/badge.svg)](https://nogithub.codeberg.page/) +## How to run with docker compose + +1. clone repo +2. change setting + +``` +# copy example compose file +cp docker-compose.example.yml docker-compose.env + +# edit compose file +vim .docker-compose +``` + +3. RUN + +``` +docker compose run app +``` + ## How to run manually 1. clone repo @@ -26,12 +45,10 @@ cp .example.env .env # edit setting file vim .env +``` 5. RUN -``` +``` python main.py - -``` - ``` diff --git a/docker-compose.example.yml b/docker-compose.example.yml new file mode 100644 index 0000000..645a0ee --- /dev/null +++ b/docker-compose.example.yml @@ -0,0 +1,13 @@ +version: "3.9" + +services: + app: + build: + context: . + dockerfile: ./Dockerfile + environment: + - MISSKEY_INSTANCE_ADDRESS=worldc.one + - MISSKEY_ACCESS_TOKEN=BWbGlK6lWuUgXQpFM7igtmbZ30g6BOIc + - SENTENCES_FILE=/data/sentences.txt + volumes: + - ./data:/data diff --git a/setup.md b/setup.md new file mode 100644 index 0000000..3f2cfc3 --- /dev/null +++ b/setup.md @@ -0,0 +1,12 @@ +# Misskey api key 발급받기 + +1. 설정 - api 접속 +2. 엑세스 토큰 생성 - **"노트를 작성하거나 삭제합니다"** 켬 + +# docker compose crontab 설정하기 + +``` +docker compose -f 프로젝트경로/docker-compose.yml up +``` + +을 crontab에 등록하시면 됩니다(아마도) diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/choose_sentence.py b/src/choose_sentence.py index 742b9fb..99a2380 100644 --- a/src/choose_sentence.py +++ b/src/choose_sentence.py @@ -16,5 +16,5 @@ except: # choose random sentence in google spread sheet def chooseSentence() -> str: # choice random sentence - return random.choice(_sentences) + return random.choice(_sentences).replace("\\n","\n")