Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
Self-hosted personal finance dashboard with AI categorization, recurring spend tracking, and a live demo.
FinanceTypeScript · PythonGitHub @syllogic-aiOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Syllogic is an open-source personal finance app for self-hosters who want control over their data without giving up a polished product. Track balances, spending, recurring charges, and trends, import and export CSVs, and optionally enable AI categorization.
One-liner (requires root, Docker, and Docker Compose):
curl -fsSL https://github.com/syllogic-ai/syllogic/releases/latest/download/install.sh | sudo bash
Or manually:
Clone and configure:
Linux/macOS:
git clone https://github.com/syllogic-ai/syllogic.git
cd syllogic
cp deploy/compose/.env.example deploy/compose/.env
# Edit deploy/compose/.env — set POSTGRES_PASSWORD, BETTER_AUTH_SECRET, INTERNAL_AUTH_SECRET
Windows (PowerShell):
git clone https://github.com/syllogic-ai/syllogic.git
cd syllogic
copy deploy\compose\.env.example deploy\compose\.env
# Edit deploy\compose\.env — set POSTGRES_PASSWORD, BETTER_AUTH_SECRET, INTERNAL_AUTH_SECRET
Start:
Linux/macOS:
./scripts/prod-up.sh
Windows (PowerShell or CMD):
.\scripts\prod-up.bat
Open http://localhost:8080 and create your account.
For advanced configuration (TLS, custom domains, MCP server), see deploy/compose/README.md.
The template configures everything through Railway Shared Variables — one place
that every service reads from. The required secrets (POSTGRES_PASSWORD,
BETTER_AUTH_SECRET, INTERNAL_AUTH_SECRET, DATA_ENCRYPTION_KEY_CURRENT) are
auto-generated at deploy time, so a default deploy needs no manual input.
Optionally set these Shared Variables to enable extra features:
OPENAI_API_KEY (enables AI categorization)LOGO_DEV_API_KEY (enables company logos)For full Railway setup details, see deploy/railway/README.md.
Maintainers publishing the template: see deploy/railway/TEMPLATE.md.
For public demo environments, you can share a login URL that prefills demo credentials:
https://your-app-domain.com/login?demo=1
Syllogic public demo:
https://app.syllogic.ai/login?demo=1
Set these frontend environment variables on that deployment:
NEXT_PUBLIC_DEMO_EMAILNEXT_PUBLIC_DEMO_PASSWORDOptional auth throttling (recommended for public demos):
AUTH_RATE_LIMIT_ENABLED=trueAUTH_RATE_LIMIT_WINDOW_MS=60000AUTH_RATE_LIMIT_MAX_ATTEMPTS_PER_WINDOW=30DEMO_AUTH_RATE_LIMIT_MAX_ATTEMPTS_PER_WINDOW=10DEMO_AUTH_RATE_LIMIT_GLOBAL_MAX_ATTEMPTS_PER_WINDOW=120| Method | Use case | Docs |
|---|---|---|
| CasaOS | Home lab / NAS users | deploy/casaos/ |
The deployment configs in this repo — deploy/railway/, deploy/compose/,
deploy/casaos/ and the railway.*.toml files — describe how you can host
Syllogic. They are the supported, documented paths, and the one-click Railway
template is built from them.
They do not describe how app.syllogic.ai is
wired. That instance runs on Coolify on a single server,
and it is itself a self-hosted deployment of this same code — it just happens to
also serve the public demo login. Coolify is not listed above because it is not
packaged as a template here; if you want it, the deploy/compose/ stack is the
closest starting point.
One difference worth knowing if you are building a client against it: on that instance only the web app and the MCP endpoint are publicly reachable. The FastAPI service is private, and the web app proxies to it — so a mobile or third-party client authenticates against the web origin, not against the API directly. A self-hosted deployment can expose the API however it likes; nothing in the code requires this arrangement.
| Variable | Description | Required |
|---|---|---|
POSTGRES_PASSWORD | PostgreSQL password | Yes |
BETTER_AUTH_SECRET | Auth session signing key | Yes |
INTERNAL_AUTH_SECRET | App-to-backend signed auth | Yes |
DATA_ENCRYPTION_KEY_CURRENT | Field-level encryption key | Recommended |
OPENAI_API_KEY | AI transaction categorization | No |
LOGO_DEV_API_KEY | Company logo lookup | No |
Generate secrets with openssl rand -hex 32. For encryption keys: openssl rand -base64 32.
OPENAI_API_KEY — AI-powered categorization via OpenAI (GPT-4o-mini by default).
LOGO_DEV_API_KEY — Company logo lookup via logo.dev.
Full variable reference is available in deploy/compose/.env.example.
Both services share a single PostgreSQL database. The frontend handles all CRUD via Server Actions; the backend handles data enrichment, bank sync, and background jobs.
Syllogic models a household as a set of people belonging to one user. Accounts, properties, and vehicles can have one or more owners with optional shares (a NULL share means equal split). Holdings inherit ownership from their account. The Syllogic MCP read tools accept person_ids to scope results and attribute share-weighted amounts.
Track brokerage and crypto holdings with portfolio summaries and history. The Syllogic MCP exposes read tools for holdings, portfolio summary/history, and symbol search.
Quick start for contributors:
Everything runs in Docker using prebuilt images. Easiest setup for full-stack testing.
1. Clone and configure:
git clone https://github.com/syllogic-ai/syllogic.git
cd syllogic
cp deploy/compose/.env.example deploy/compose/.env
# Edit deploy/compose/.env — set INTERNAL_AUTH_SECRET, BETTER_AUTH_SECRET
# Keep DATABASE_URL=postgresql://...@postgres:5432/... (Docker internal)
2. Start the stack:
# Linux/macOS
./scripts/dev-up.sh --prebuilt
# Windows
.\scripts\dev-up.bat prebuilt
3. Open http://localhost:8080
Infrastructure runs in Docker, frontend runs on host. Best for frontend development with hot reload.
1. Clone and configure:
git clone https://github.com/syllogic-ai/syllogic.git
cd syllogic
cp deploy/compose/.env.example deploy/compose/.env
# Edit deploy/compose/.env — set INTERNAL_AUTH_SECRET, BETTER_AUTH_SECRET
2. Start infrastructure:
# Linux/macOS
./scripts/dev-up.sh --local
# Windows
.\scripts\dev-up.bat local
This starts PostgreSQL, Redis, and Celery workers, installs dependencies, runs migrations, and creates frontend/.env.local with the required environment variables.
3. Start the Next.js dev server:
cd frontend
pnpm dev
4. (Optional) Start the backend (required for CSV import and other backend features):
cd backend
uvicorn app.main:app --reload
5. Open http://localhost:3000
Note: Local mode runs only infrastructure. CSV import and other backend features require starting the backend (step 4) or using prebuilt mode.
See CONTRIBUTING.md for full setup instructions and code style guidelines.
Licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).