mirror of
https://github.com/EDeev/y.calendarkin.git
synced 2026-10-08 00:39:27 +03:00
code/sql.py на psycopg 3 с пулом соединений (переподключается сам); таблицы users, urls, alarms — в PostgreSQL user и url зарезервированы. Внутренние номера пользователей сохраняются: на них ссылаются файлы календарей data/icals/<номер>.ics. scripts/migrate_sqlite.py переносит старые базы со сверкой (проверено на копии рабочих: 25 пользователей, 9 подписок). Тесты хранилища и переноса — на PostgreSQL в CI; compose поднимает бота вместе с базой.
32 lines
677 B
YAML
32 lines
677 B
YAML
services:
|
|
bot:
|
|
build: .
|
|
image: ghcr.io/edeev/y.calendarkin:latest
|
|
env_file: .env
|
|
environment:
|
|
TZ: Europe/Moscow
|
|
DATABASE_URL: postgresql://yacal:yacal@db:5432/yacal
|
|
volumes:
|
|
- icals:/app/data/icals
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
|
|
db:
|
|
image: postgres:16-alpine
|
|
environment:
|
|
POSTGRES_USER: yacal
|
|
POSTGRES_PASSWORD: yacal
|
|
POSTGRES_DB: yacal
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U yacal"]
|
|
interval: 5s
|
|
retries: 10
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
icals:
|
|
pgdata:
|