This project now runs only on the TypeScript/Node.js stack.
- Node.js 20+
- npm
- Redis 7+
- Telegram bot token from @BotFather
For Docker deployment you only need Docker and Docker Compose.
- Clone the repository.
- Copy the environment template.
cp .env.example .env- Edit
.envand set at leastBOT_TOKEN. - Start the stack.
docker compose up -d --build- Verify the service.
docker compose ps
curl http://localhost:8916/healthThe app container runs Prisma migrations on startup and stores SQLite data in /app/data.
- Install dependencies.
npm install- Copy the environment template.
cp .env.example .env- For local development, update these values:
NODE_ENV=development
DATABASE_URL=file:./dev.db
REDIS_HOST=localhost
BOT_TOKEN=your_real_token- Start Redis locally, for example:
docker run --name rss-skull-redis -p 6379:6379 redis:7-alpine- Generate Prisma client and start the app.
npm run db:generate
npm run devcurl http://localhost:8916/healthcurl http://localhost:8916/stats- send
/startto the bot on Telegram
The app exits during startup or fails to initialize the bot.
BullMQ workers depend on Redis. Verify REDIS_HOST, REDIS_PORT and container status.
Run:
npm run db:generateThe bot clears webhook state during startup, but a concurrent process with the same token can still cause 409 Conflict.