diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9dbc244 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM alpine:3.20.2 + +RUN apk update && apk upgrade --no-cache + +RUN apk add --no-cache python3=3.12.3-r1 && \ + apk add pipx=1.6.0-r0 + +# Set environment variables +ENV USER_NAME=builder +ENV USER_UID=1001 +ENV USER_GID=1001 + +RUN addgroup -g $USER_GID $USER_NAME && \ + adduser -D -u $USER_UID -G $USER_NAME $USER_NAME + +WORKDIR /home/$USER_NAME/myapp +ENTRYPOINT ["./runDev.sh"] diff --git a/README.md b/README.md index e69de29..161649d 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,36 @@ +# Initial Setup + +## Install Python + +- (With Python available on system with Mise) `pip install --user pipx` + +## Install Poetry + +- https://python-poetry.org/ +- `pipx install poetry` + +## Install dependencies + +- `https://python-poetry.org/docs/basic-usage/#installing-dependencies-only` + +## Run the Editor + +- `./runEditor.sh` + +## Setup .env file + +- Example: + +``` +api_id=1234 +api_hash="foo" +bot_token="bar" +``` + +## Run the program + +- `./runDev.sh` + +## Build the Docker image for the project + +- `./buildDockerImage.sh` diff --git a/buildDockerImage.sh b/buildDockerImage.sh new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..b84ac5b --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,10 @@ +services: + telegram-messages-manager: + container_name: telegram-messages-manager + build: . + image: zak-clouds-manager-app:latest + restart: unless-stopped + environment: + - environment=development + volumes: + - .:/home/builder/myapp diff --git a/main.py b/main.py index e85eb52..2e2154a 100644 --- a/main.py +++ b/main.py @@ -1,9 +1,19 @@ +import os + +from getpass import getpass + from urllib.parse import urlparse from dotenv import dotenv_values from telethon import TelegramClient, events +if (not os.path.isfile(".env")): + # raise Exception("No .env file configuration. Please read \"README.md\" file") + api_id_user=getpass("Please enter your API ID: ") + api_hash_user=getpass("Please enter your API Hash: ") + bot_token_user=getpass("Please enter your Bot Token: ") + config = dotenv_values(".env") api_id = config["api_id"] diff --git a/runEditor.sh b/runEditor.sh new file mode 100755 index 0000000..a06df4a --- /dev/null +++ b/runEditor.sh @@ -0,0 +1,4 @@ +#!/usr/bin/bash + +. $(poetry env info --path)/bin/activate +$EDITOR