Getting started¶
Try it in 5 minutes (Docker)¶
The fastest way to a clickable environment — no SDK, no database to install.
Starts Hodor + SQL Server with a pre-seeded demo source (HodorDemo), a target
warehouse (HodorDW) and two example pipelines ready to run:
docker compose --env-file demo/.env -f docker-compose.yml -f docker-compose.demo.yml up --build
# → http://localhost:5200 (log in: admin / Admin1234!)
--env-file demo/.envsupplies the demo secrets. The base compose file requiresSA_PASSWORD,JWT_KEYandHODOR_ADMIN_PASSWORDwith no defaults. Demo only.
Open Workflows, run Demo_Load_DimCustomer, and watch the steps live.
Build from source¶
Prerequisites¶
- .NET 10 SDK
- Node.js 22+ and npm
- SQL Server or PostgreSQL (metadata database, source and/or target)
- Python 3 (optional, for Python scripts inside pipelines)
Build and run locally¶
# 1. Build the Angular app
cd hodor-web
npm install
npm run build # output: hodor-web/dist/hodor-web/browser/
# 2. Start the API (also serves the Angular app)
cd ../Hodor.Api
dotnet run
# → http://localhost:5200
For frontend development with hot reload:
Required environment variables¶
| Variable | Description |
|---|---|
Jwt__Key |
Secret key for JWT signing. At least 32 characters. |
Hodor__DefaultAdmin__Password |
Password for the built-in admin account created on first start. |
Database__Provider |
Postgres or SqlServer. |
Database__ConnectionString |
Connection string to the chosen database. |
These can alternatively be set in Hodor.Api/appsettings.Development.json during
local development — that file is not tracked in version control.
Configuration¶
// Hodor.Api/appsettings.json
{
"Hodor": {
"PipelinesFolder": "/pipelines"
},
"Database": {
"Provider": "SqlServer",
"ConnectionString": "Server=...;Database=HodorMeta;..."
}
}
Environment variables: HODOR__PIPELINESFOLDER, DATABASE__PROVIDER, DATABASE__CONNECTIONSTRING.
Windows authentication
Use Windows authentication (Trusted_Connection=True) for on-prem SQL
Server — .hodor files will then contain no secrets and can be checked into
git safely.