12 Commits

Author SHA1 Message Date
Flavio Fois
b7f42ce3ae Merge branch 'dev' 2026-03-17 10:33:58 +01:00
Flavio Fois
5624019f23 Enhances API infrastructure with Swagger, feature flags, and refactored middleware
Implements @elysiajs/swagger for automated API documentation and introduces a feature flag system to expose service capabilities based on environment variables.

Refactors authentication guards into native Elysia scoped middleware for improved integration and type safety. Updates error handling to support custom status codes and adds instance-specific headers to responses for better observability.

Includes an IP fallback mechanism for bug reports that utilizes internal system info when the direct submitter IP is unavailable.
2026-03-17 10:30:42 +01:00
Flavio Fois
9458d1e8ad Introduces configurable test database for bug reports
Enables switching between production and testing MySQL databases based on the `ENABLE_TEST_DB` environment variable and an `X-DB-ENV` request header.

Applies this dual database functionality primarily to bug report submission and administration features. New `TESTING_MYSQL_` environment variables are added for defining test database credentials.

Refines HTTP request logging by excluding health checks and admin session validation endpoints to reduce noise. Allows `/health` endpoints to bypass API and Admin key guards.

Temporarily disables HWID-based rate limiting for bug report submissions.
2026-03-02 23:15:15 +01:00
Flavio Fois
3f15edae75 Refactor middleware and routes to use onRequest for API key and admin key guards; update dependencies and improve logging for error handling 2026-03-02 19:30:59 +01:00
Flavio Fois
5761cbaa55 Added routes for login and bug reporting 2026-02-26 08:53:50 +01:00
Flavio Fois
19e199a578 Introduces scalable Docker Compose deployment
Establishes a multi-service Docker Compose setup for the application, including a Traefik reverse proxy, a MySQL database, and a scalable API service.

Adds a comprehensive MySQL database schema for bug reports, file storage, rate limiting, user management, and sessions.

Improves application startup reliability by implementing a "wait-for-MySQL" script, ensuring the API service initializes only after the database is available. This script is integrated into the Dockerfile and package.json.

Enhances the API service with instance-specific logging, a more informative health endpoint, and an increased maximum request body size (50MB). Database migration failures are now gracefully handled.
2026-02-25 20:57:19 +01:00
Flavio Fois
211ce5f1f6 Remove tsconfig.json copy from Dockerfile 2026-02-16 11:47:13 +01:00
Flavio Fois
f6f5f7b9e4 Remove MySQL service from Docker Compose and create a new compose.yml for API service configuration 2026-02-16 11:43:18 +01:00
Flavio Fois
c5866c7c9a Refactor Docker Compose configuration by removing MySQL and related services, and updating API environment variables for improved flexibility. 2026-02-16 11:42:52 +01:00
Flavio Fois
d6642f0f3c Add .vscode and bun.lock entries to .gitignore 2026-02-16 11:12:30 +01:00
Flavio Fois
0cad94dadd Add initial implementation of EMLy Bug Report API with MySQL integration and Docker support 2026-02-16 11:11:50 +01:00
1001321fe7 Initial commit 2026-02-16 11:08:37 +01:00