mirror of
https://github.com/aNNiMON/ffmpegbot
synced 2024-09-19 22:54:20 +03:00
Fix python dependencies in Dockerfile, use ENV
This commit is contained in:
parent
f2c31b6115
commit
f4fb7c297e
@ -14,10 +14,12 @@ RUN GRADLE_OPTS="-Xmx256m" gradle shadowJar --build-cache --stacktrace --no-daem
|
|||||||
FROM eclipse-temurin:17-jre-alpine
|
FROM eclipse-temurin:17-jre-alpine
|
||||||
RUN apk add --no-cache python3 py3-pip ffmpeg \
|
RUN apk add --no-cache python3 py3-pip ffmpeg \
|
||||||
&& python3 -m pip install --upgrade wheel \
|
&& python3 -m pip install --upgrade wheel \
|
||||||
&& python3 -m pip install --upgrade yt-dlp
|
&& python3 -m pip install --upgrade yt-dlp \
|
||||||
|
&& python3 -m pip install --upgrade pyrogram \
|
||||||
|
&& python3 -m pip install --upgrade TgCrypto
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY --from=builder /usr/src/java-code/build/libs/ffmpegbot-1.0-SNAPSHOT-all.jar .
|
COPY --from=builder /usr/src/java-code/build/libs/ffmpegbot-1.0-SNAPSHOT-all.jar .
|
||||||
RUN mkdir input && mkdir output
|
RUN mkdir input && mkdir output
|
||||||
COPY pytgfile.py .
|
COPY pytgfile.py .
|
||||||
COPY ffmpegbot.yaml .
|
COPY ffmpegbot-docker.yaml .
|
||||||
ENTRYPOINT ["java", "-jar", "/app/ffmpegbot-1.0-SNAPSHOT-all.jar"]
|
ENTRYPOINT ["java", "-jar", "/app/ffmpegbot-1.0-SNAPSHOT-all.jar", "docker"]
|
||||||
|
35
README.md
35
README.md
@ -1,4 +1,4 @@
|
|||||||
# ffmpegbot
|
_# ffmpegbot
|
||||||
|
|
||||||
Telegram Bot for re-encoding media
|
Telegram Bot for re-encoding media
|
||||||
|
|
||||||
@ -20,14 +20,6 @@ Telegram Bot for re-encoding media
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
### Using Docker
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cp ffmpegbot.yaml.template ffmpegbot.yaml
|
|
||||||
vim ffmpegbot.yaml
|
|
||||||
docker build --tag 'ffmpegbot' .
|
|
||||||
```
|
|
||||||
|
|
||||||
### Manual
|
### Manual
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -40,3 +32,28 @@ mkdir {input,output}
|
|||||||
# Run
|
# Run
|
||||||
java -jar ./build/libs/ffmpegbot-1.0-SNAPSHOT-all.jar
|
java -jar ./build/libs/ffmpegbot-1.0-SNAPSHOT-all.jar
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Using Docker
|
||||||
|
|
||||||
|
Note: FFmpeg binary might be installed with limited number of filters and codecs. Some bot features might not work (Audio pitch, robot effect, etc).
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Edit user ids in `superUsers` and `allowedUsers` fields
|
||||||
|
vim ffmpegbot-docker.yaml
|
||||||
|
docker build --tag 'ffmpegbot' .
|
||||||
|
docker run -d -t -i \
|
||||||
|
-e BOT_TOKEN='...' \
|
||||||
|
-e BOT_USERNAME='...' \
|
||||||
|
-e APP_ID='...' \
|
||||||
|
-e APP_HASH='...'\
|
||||||
|
--name ffmpegbot ffmpegbot:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Environment variables
|
||||||
|
|
||||||
|
- `BOT_TOKEN` — Telegram bot token
|
||||||
|
- `BOT_USERNAME` — Telegram bot username
|
||||||
|
- `APP_ID` — Telegram API app_id (see https://core.telegram.org/api/obtaining_api_id)
|
||||||
|
- `APP_HASH` — Telegram API app_hash
|
||||||
|
|
||||||
|
11
ffmpegbot-docker.yaml
Normal file
11
ffmpegbot-docker.yaml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
botToken: env(BOT_TOKEN)
|
||||||
|
botUsername: env(BOT_USERNAME)
|
||||||
|
# Telegram API app_id / app_hash
|
||||||
|
appId: env(APP_ID)
|
||||||
|
appHash: env(APP_HASH)
|
||||||
|
# Path to Telegram API file downloader script
|
||||||
|
downloaderScript: pytgfile.py
|
||||||
|
# Superusers can execute /run command
|
||||||
|
superUsers: [12345]
|
||||||
|
# Allowed user ids
|
||||||
|
allowedUsers: [12346, 12347]
|
@ -1,5 +1,7 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import asyncio
|
import asyncio
|
||||||
|
import traceback
|
||||||
|
import logging
|
||||||
import pathlib
|
import pathlib
|
||||||
import pyrogram
|
import pyrogram
|
||||||
import pyrogram.file_id
|
import pyrogram.file_id
|
||||||
@ -58,6 +60,8 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
asyncio.run(args.func(args))
|
asyncio.run(args.func(args))
|
||||||
|
except Exception as e:
|
||||||
|
logging.error(traceback.format_exc())
|
||||||
except:
|
except:
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user