Self-hosted n8n instance deployed on Railway, running the scheduled automation pipelines I build and maintain.
This repository holds the Dockerfile I deploy from, so the runtime is reproducible and version-pinned rather than tied to a hosted plan.
Solana token scanner — polls for new token launches on a 30-minute schedule and audits each candidate through RugCheck, Helius, Birdeye and Jupiter: authority checks, liquidity and pool composition, and dev-wallet analysis for bundle sniping. Migration detection is derived from live pool data rather than from documentation — tokens still on the bonding curve are filtered out before anything reaches the alert step. Surviving candidates are pushed to Telegram.
Building it meant handling the unglamorous part of third-party integrations: when RugCheck changed its response shape, the pipeline went silent rather than loud, and finding that took reading actual runs instead of trusting the schema.
Job discovery — collects vacancies from Djinni and getmatch, filters them against a stack profile, and delivers matches to Telegram.
Workflow definitions and credentials are not stored here — they live in the mounted volume, which is why the volume matters more than the image.
Build the image:
docker build -t n8n-self-hosted .Run it locally:
docker run -it --rm \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
n8n-self-hostedThe editor is then available at http://localhost:5678. The named volume keeps credentials and workflow definitions between restarts — without it, everything is lost when the container is removed.
- Intended for deployment on a container host (Railway, Fly, a VPS) rather than as a library.
- Stack: n8n, Docker, Railway, Solana data APIs (RugCheck, Helius, Birdeye, Jupiter), LLM APIs, Telegram Bot API.