feat: docker-серверы - приложения в ~/apps под управлением бота
serverus: DockerHost - установка Docker и ingress Caddy, deploy приложения с проверкой compose и caddy.conf до изменений и пересозданием только изменившихся сервисов, status, control, logs, remove. nftables перезапускается только при изменении конфига, Docker следом восстанавливает свои правила; release восстанавливает конфиг Debian вместо остановки nftables. Telegram: прием документов и отправка файлов, раздача файлов своего Bot API сервера через nginx (telegram-files). App: общая модель Managed для Point и Platform, DockerApp и версии файлов AppVersion, разбор архивов (uploads), сценарии платформы (platforms), задачи и меню docker-серверов в боте. Проверено на стенде Debian 13 с local_certs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
65c19ea1cd
commit
a8d1f286d1
42 files changed
+3509
-232
No files matched your search
@@ -25,6 +25,18 @@ services:
|
||||
# - "127.0.0.1:8081:8081"
|
||||
# - "127.0.0.1:8082:8082"
|
||||
|
||||
telegram-files:
|
||||
# файлы, присланные ботам документами: Bot API сервер в --local режиме не отдает их по HTTP, а пишет на диск
|
||||
# с правами 0600 от uid 101. Воркеры nginx работают от того же uid 101. Отдаются только documents/
|
||||
image: docker.local/nginx:1.30.5-alpine-slim
|
||||
configs:
|
||||
- source: telegram-files
|
||||
target: /etc/nginx/conf.d/default.conf
|
||||
volumes:
|
||||
- telegram-bot-api-data:/var/lib/telegram-bot-api:ro
|
||||
network_mode: host
|
||||
restart: unless-stopped
|
||||
|
||||
redis:
|
||||
image: docker.local/redis:8.8.3-alpine
|
||||
ports:
|
||||
@@ -75,6 +87,7 @@ services:
|
||||
DB_PORT: "5432"
|
||||
RABBITMQ_ADDRESS: rabbitmq:5672
|
||||
TELEGRAM_API_URL: http://telegram:8081
|
||||
TELEGRAM_FILES_URL: http://telegram-files:8083
|
||||
# Bot API сервер ходит на webhook по имени сервиса сайта, домен не нужен
|
||||
TELEGRAM_WEBHOOK_URL: http://web:8000
|
||||
ALLOWED_HOSTS: web,127.0.0.1,localhost
|
||||
@@ -98,6 +111,8 @@ services:
|
||||
condition: service_started
|
||||
telegram:
|
||||
condition: service_started
|
||||
telegram-files:
|
||||
condition: service_started
|
||||
|
||||
worker:
|
||||
<<: *app
|
||||
@@ -117,3 +132,17 @@ volumes:
|
||||
redis_data:
|
||||
rabbitmq_data:
|
||||
postgres_data:
|
||||
|
||||
configs:
|
||||
telegram-files:
|
||||
content: |
|
||||
server {
|
||||
listen 127.0.0.1:8083;
|
||||
access_log off;
|
||||
location ~ ^/[0-9]+:[A-Za-z0-9_-]+/documents/[^/]+$$ {
|
||||
root /var/lib/telegram-bot-api;
|
||||
}
|
||||
location / {
|
||||
return 404;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user