Status: Forged Bronze Edition π Author: Angel Tagline: βBecause you donβt learn Keycloak in school.β
HelixNet is a production-grade FastAPI stack featuring:
- π Keycloak for enterprise-level OpenID Connect authentication
- π Traefik reverse proxy with automatic HTTPS (Letβs Encrypt-ready)
- π§ FastAPI core application with JWT token verification
- π§± Docker Compose orchestration
- π Swagger UI integrated with OAuth2 password flow
- π (Optional) Celery & Redis for async jobs
- π (Optional) Grafana & Prometheus for metrics
This project demonstrates a real-world secure microservice environment that mirrors modern SaaS architecture. CONCEPT: for 12 year old learning tool to spin-up an enterprise middleware platform and start developing secure web apps.
Here's the architecture:
- FastAPI backend - POS endpoints (scan, checkout, reports)
- Keycloak - Staff logins with roles (cashier, manager)
- Postgres - Products, transactions, daily totals
- MinIO - Store receipts/invoices as PDFs
- Simple HTML frontend - No React, just FastAPI templates + HTMX
- Traefik - HTTPS for in-store tablet
This is EXACTLY what HelixNet was built for.
Status: β Production-Ready with Keycloak RBAC
HelixNet now includes a fully functional Point-of-Sale (POS) system with enterprise-grade authentication and role-based access control.
- Real Keycloak Authentication - JWT token validation with RS256 signatures
- 5-Role RBAC System:
- π°οΈ pos-cashier - Create transactions, scan products, process checkout (10% discount limit)
- ποΈ pos-manager - Full POS access including product management, unlimited discounts, reports
- π οΈ pos-developer - Create products for testing, limited production access
- ποΈ pos-auditor - Read-only access to all transactions, products, reports (compliance)
- ποΈ pos-admin - Full system control over POS realm and configuration
- Automated Realm Import - Infrastructure as Code (no manual Keycloak setup)
- Startup Health Checks - Realm status matrix showing users/clients count
- Pre-seeded Test Users - 6 users ready for testing (Pam, Ralph, Michael, Felix, pos-developer, pos-auditor)
- Multi-Environment Ready - Identical configs for DEV/UAT/PROD
# 1. Login as Pam (Cashier)
curl -k -X POST "https://keycloak.helix.local/realms/kc-pos-realm-dev/protocol/openid-connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "client_id=helix_pos_web" \
-d "username=pam" \
-d "password=helix_pass" \
-d "grant_type=password" | jq -r '.access_token'
# 2. Use token to access POS API
curl -k "https://helix-platform.local/api/v1/pos/products" \
-H "Authorization: Bearer $TOKEN"- Full Setup Guide: See
docs/KEYCLOAK_SETUP.md - Realm Config:
helix-pos-realm-dev.json(auto-imported on startup) - Test Users: All passwords are
helix_pass(demo only)
| Username | Password | Role | Can Create Products? | Can View Reports? |
|---|---|---|---|---|
| pam | helix_pass | π°οΈ Cashier | β No | β No |
| ralph | helix_pass | ποΈ Manager | β Yes | β Yes |
| michael | helix_pass | π οΈ Developer | β Yes | β No |
| felix | helix_pass | ποΈ Admin | β Yes | β Yes |
| pos-auditor | helix_pass | ποΈ Auditor | β No | β Yes (read-only) |
GET /api/v1/pos/products- List products (any POS role)POST /api/v1/pos/products- Create product (manager/developer/admin only)PUT /api/v1/pos/products/{id}- Update product (manager/admin only)DELETE /api/v1/pos/products/{id}- Delete product (manager/admin only)POST /api/v1/pos/transactions- Create transaction (cashier/manager/admin)POST /api/v1/pos/checkout- Process checkout (cashier/manager/admin)GET /api/v1/pos/reports/daily-summary- Daily sales report (manager/auditor/admin)
All endpoints enforce RBAC via JWT token validation.
β οΈ Warning: This is not a beginner project. Expect to troubleshoot certificates MKCERT, CORS, and container networking via Traefik and Keycloak. Proceed only if you have grit, coffee, and curiosity.
Status: Live & Roaring π
Because Spotify has ads. Because YouTube has algorithms. Because SoundCloud disappeared our account. So we built our own.
"No ads. No algorithm. No monthly ransom. Just music." β Electric Jungle
A self-hosted music player (Swing Music) with a curated collection organized by timezone β following the sunrise around the Earth.
π
THE SUNRISE CHAIN β 66 tracks across 13 regions
PACIFIC DAWN β AUSTRALIA β JAPAN-KOREA β SOUTHEAST ASIA
INDIA-PAKISTAN β MIDDLE EAST β AFRICA EAST β AFRICA WEST
EUROPE EAST β EUROPE WEST β AMERICAS EAST β AMERICAS WEST
β
SOUL FOUNDATION (the bedrock)
cd compose/helix-media
docker compose -f media-stack.yml up -d
# Visit http://localhost:1970
# Or add to /etc/hosts: 127.0.0.1 music.helix.local- Self-hosted β Your music, your server, your rules
- Synced lyrics (.lrc files for sing-along)
- MANIFEST.md β The story behind every track
- WISDOM.md β Philosopher quotes for between songs
- yt-dlp integration β Grab any track from YouTube
Sam Cooke, Bob Dylan, Aretha Franklin, Pink Floyd, Queen, Led Zeppelin, The Beatles, Jimi Hendrix, Bob Marley, Nirvana, The Cult, Rolling Stones, AC/DC, and 50+ more icons from every corner of the globe.
"Be water, my friend." β Bruce Lee
π Location: compose/helix-media/
| Service | Purpose | URL |
|---|---|---|
| Helix (FastAPI) | Core API | https://helix-platform.local/docs |
| Keycloak | Identity Provider (OIDC) | https://keycloak.helix.local |
| Traefik | Reverse Proxy + HTTPS | https://traefik.helix.local |
| Postgres | Database for Keycloak + App | Internal |
| Redis (optional) | Task broker for Celery | Internal |
Swagger UI supports OAuth2 password flow via Keycloak.
-
Click Authorize in Swagger.
-
Choose the scheme OAuth2 (password).
-
Fill in:
username: helix_user password: helix_pass client_id: helix_client client_secret: helix_pass -
Hit Authorize, then test any
/api/v1/users/meor/protectedendpoint.
β If you see 200 OK, your JWT was validated successfully.
helixnet/
ββ compose/
β ββ traefik/
β ββ keycloak/
β ββ helix/
ββ keycloak/
β ββ config/
β ββ kc-realm-dev.json
ββ src/
β ββ helix/
β ββ main.py
β ββ routes/
β ββ auth/
ββ .env
ββ docker-compose.yml
ββ README.md
# 1. Clone the repo
git clone https://github.com/<your-username>/helixnet.git
cd helixnet
# 2. Configure environment
cp .env.example .env
# 3. Start everything
./scripts/helix-boot.sh
# 4. Visit
https://helix-platform.local/docs-
To debug Traefik routes:
docker logs traefik | grep helix -
To verify Keycloak realm import:
docker exec -it keycloak /opt/keycloak/bin/kc.sh show-config -
If Swagger shows
NetworkError, check:- DNS:
keycloak.helix.localmust resolve - HTTPS certificate trust
- CORS headers in FastAPI and Keycloak client settings
- DNS:
- Keycloak JSON import path must be absolute (
/opt/keycloak/data/import/...) - Traefik will report 502 Bad Gateway if the backend container name isnβt resolvable
- Swaggerβs password flow is the simplest for human testing
- OAuth2 + FastAPI + Docker networking = patience required
Youβve crossed the threshold of backend alchemy β this is where microservices become art.
βYou canβt learn this from a tutorial. You learn it by bleeding YAML.β β Sherlock
HelixNet is an AI-driven integration and transformation engine designed to modernize legacy enterprise data flows β without forcing companies to rebuild everything on SAP BTP or other cloud platforms.
The system takes three core inputs:
- Context YAML β describes the business or technical mapping rules
- Content files β raw data (CSV, flat files, SAP IDocs, SFTP drops, etc.)
- Target JSON schema β defines the desired output structure
Using these, HelixNet applies an AI-assisted transformation and mapping engine that analyzes the input data and produces the correctly structured output JSON, ready to be injected into SAP, BTP, or any downstream system.
This lets teams automate the painful βmappingβ work thatβs traditionally done manually with tools like SAP PI/PO, Seeburger, or custom ETL pipelines. Instead of rewriting the whole integration layer, HelixNet helps organizations bridge old and new systems safely and affordably, while keeping the existing infrastructure intact.
βHelixNet is an AI-powered data mapping and transformation platform that turns messy legacy files into clean, structured JSON ready for SAP and modern systems β without a full migration.β
- Context-aware Jinja2 templates (
.j2) drive the transformation logic. - YAML defines metadata, mapping hints, and processing pipelines.
- JSON defines the target output shape.
- AI (via local or external models) assists with schema inference and transformation mapping.
- Docker + Traefik + Keycloak + Vault provide secure, modular, multi-service orchestration.
β Goal: Let potential users see and feel the product without setup friction. YES, you can β and should β run this on a VPS using Docker Compose.
- Docker Compose is enough for 1β10 users testing the system.
- You can control access via Keycloak (each tester gets an account).
- You can monitor via Traefik logs, Portainer, and even basic shell scripts.
- You donβt need the operational complexity of K3D/K8s yet.
- Your βstackβ already looks like a production-ready demo environment β just scaled down.
Think of this as your HelixNet Demo Cloud β stable, limited, but representative.
β Goal: Turn the VPS demo into a hands-off trial experience.
Youβre already thinking correctly:
βThey log in, try it 10 times, I monitor, then upsell.β
This is the SaaS funnel:
- Discovery β They find your landing page / repo
- Curiosity β They see βTry the live demoβ
- Engagement β They upload some data, get a real transformation
- Value realization β They see how your system makes sense of messy data
- Conversion β You follow up (βWould you like to integrate your real data?β)
Even if only one or two clients do that, it validates your product and story.
β Goal: When youβve proven user traction or paying customers.
At that point:
- Move from VPS Docker Compose β K3D or true Kubernetes (for scalability + HA)
- Add CI/CD pipeline for automated deploys (GitHub Actions β VPS or cluster)
- Add Monitoring & Observability stack (Prometheus + Grafana + Loki)
- Migrate secrets into Vault or AWS Secrets Manager
But donβt rush this. Itβs better to have 5 real users on Docker Compose than 0 users on Kubernetes.
Enterprises stuck with SAP PI/PO or legacy EDI β need modern mapping β HelixNet automates it.
Thatβs gold. This story will resonate with every integration architect or SAP consultant you show it to. Youβre not selling code; youβre selling time, safety, and modernization.
Offer two paths:
- SaaS (hosted by you) β βSign up, upload, test in minutesβ
- Self-hosted (Docker Compose) β βClone, .env, up β done.β
This dual model builds trust and accelerates adoption.
You can use:
- GitHub Pages or Readme.so for a professional landing page
- A short demo video (your 90-sec pitch with a terminal run-through)
- A live URL: e.g.
https://demo.helixnet.ioorhttps://try.helix.localhost.run
- π§Ή Clean Docker Compose +
.env(done! nearly) - π§© Deploy to VPS (Traefik + Keycloak + HelixNet Core)
- π§Ύ Add a minimal README landing: βWhat, Why, How to Tryβ
- π Set up Keycloak realms for βDemo Usersβ (isolated)
- π Add a basic audit logger for user activity
- π₯ Record 90-sec demo video (βUpload CSV β Get JSON outputβ)
- π Announce quietly on GitHub & LinkedIn (to gauge response)
You're running a comprehensive AI development stack with:
- AI/ML Services: OpenWebUI + Ollama for local LLM inference
- Core Platform: Helix (FastAPI-based) with Celery for async tasks
- Infrastructure: Postgres, Redis, RabbitMQ, MinIO
- Monitoring: Prometheus, Grafana, Dozzle
- Security: Keycloak, Vault
- Utilities: MailHog, Adminer, Filebrowser
- Reverse Proxy: Traefik
Strengths: β Full-stack development environment β Containerized and reproducible (Docker) β Built-in monitoring and logging β Security-first approach (Keycloak, Vault) β Local LLM capabilities β Asynchronous task processing
Weaknesses:
Opportunities: π Cloud deployment for production (DigitalOcean) π Scalable architecture π Potential for AI/ML application development π Could serve as a template for enterprise applications
Threats: π Security exposure if improperly configured π Resource costs in production π Maintenance complexity
-
AI Application Development:
- Build custom AI agents using Ollama models
- Create chatbots with OpenWebUI
- Develop RAG applications
-
Microservices Platform:
- Prototype scalable applications
- Test distributed systems patterns
- Practice container orchestration
-
DevOps Practice:
- CI/CD pipeline development
- Infrastructure as Code (IaC) testing
- Monitoring and logging implementation
Recommended Architecture:
[DigitalOcean Droplet]
βββ Traefik (SSL Termination, Load Balancing)
βββ Core Services:
β βββ Helix (FastAPI) - scaled horizontally
β βββ Postgres (Managed Database recommended)
β βββ Redis (Managed Database recommended)
β βββ RabbitMQ
βββ AI Services:
β βββ Ollama (GPU-enabled instance recommended)
β βββ OpenWebUI
βββ Monitoring:
β βββ Prometheus
β βββ Grafana
βββ Security:
βββ Keycloak
βββ Vault
Implementation Steps:
-
Infrastructure Setup:
# On DigitalOcean Droplet sudo apt update && sudo apt upgrade -y sudo apt install docker-compose -y git clone https://github.com/your-repo/velix.git cd velix
-
Environment Configuration:
# .env.prod DEPLOY_ENV=production DOMAIN=yourdomain.com TRAEFIK_EMAIL=admin@yourdomain.com
-
Docker Compose Override:
# docker-compose.prod.yml services: ollama: deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu]
-
Deployment:
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
-
Optimize for Production:
- Set up proper backups for databases
- Configure monitoring alerts
- Implement CI/CD pipelines
- Set up proper SSL certificates
-
Security Hardening:
- Configure firewall rules
- Set up VPN access
- Regular security audits
-
Scaling:
- Consider Kubernetes for orchestration
- Database read replicas
- Load balancing across multiple instances
This setup is extremely powerful for developing AI-powered applications. A production version (VELIX) could be positioned as an enterprise AI platform or used as a foundation for custom AI solutions.