🔗 Software
In no particular order, the following lists the third-party software used in Awayto, along with their key features and a primary source for usage in the system:
| Technology | Description | Source |
|---|---|---|
| Shell | Command-line interface scripting | /bin |
| Typescript | Primary types, api handlers, and components | /core |
| Docker | Container service, docker compose, supports cloud deployments | docker-compose.yaml |
| Kubernetes | Distributed container environment, optional manual deployment path | /kube |
| Postgres | Primary database | /db |
| SQLite | File system database | /fs |
| Node.js | Primary runtime environment | - |
| Yarn | Package management | api package, app package |
| Express.js | API, webhooks | /api |
| Bind9 | Nameservers | ns up |
| Nginx | Reverse proxy, application server, exit server | exit server, reverse proxy |
| ModSecurity | Server security, OWASP coverage | modsec install |
| Fail2Ban | Server security | exit up |
| EasyRSA | Internal certificate authority | builder up |
| Let’s Encrypt | External certificate authority | ns up |
| Tailscale | Managed VPN | deployment up |
| Hetzner | Cloud deployment variant | deployment up |
| AWS | Cloud deployment variant (Future release) | - |
| Keycloak | Authentication and authorization, SSO, SAML, RBAC | /auth |
| Redis | In-memory data store | redis api module |
| Graylog | Log management and analysis, status dashboards | graylog api module, content pack |
| MongoDB | Logging database | container only |
| ElasticSearch | Logging database | container only |
| Hugo | Static site generator for landing, documentation, marketing | /app/landing |
| React | Front-end application library, Craco build customized | /app/website |
| ReduxJS Toolkit | React state management and API service | redux store |
| DayJS | Scheduling and time management library | time utilities |
| Material-UI | React UI framework based on Material Design | module components |
| Wizapp | Custom wrapper around OpenAI API | custom prompts |
| Coturn | TURN & STUN server for WebRTC based voice and video calling | /turn |
| WebSockets | Dedicated websocket server for messaging orchestration, interactive whiteboard | /sock |