This repository was archived by the owner on Aug 2, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Refactor: Migrate to Bun, implement stacks and real-time stats #43
Open
Its4Nik
wants to merge
394
commits into
main
Choose a base branch
from
dev
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… in logs and Error Page
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
…rned-variable) Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
…rned-variable) Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Refactor: Migrate to Bun, implement stacks and real-time stats
This commit introduces the ability to manage store repositories within the application. It includes: - Creation of a table in the database to store repository information (slug and base URL). - Implementation of functions to add, retrieve, and delete store repositories from the database. - Creation of a new handler to expose store repository management functionalities via API.
…4Nik/DockStatAPI into remove-elysia-for-direct-integration
This commit introduces a new table to the database, allowing users to store and manage custom themes for the application. It also provides the ability to save a default theme on first start. The following changes were made: - Added a table to the database schema. - Added functions to interact with the table. - Add a Theme handler to expose theme actions
Updates the theme colors to a dark mode palette. This includes changes to accent colors, border colors, background colors, and gradient colors.
This commit introduces a transformation of the `vars` field in the `addTheme` function. It converts a JSON object of CSS variables into a string of CSS rules that target the root element. Additionally, it updates the themes table to set the name field as the primary key. This change is crucial for ensuring data integrity and efficient theme management.
This commit introduces new CSS variables for text colors: `--text-primary`, `--text-secondary`, and `--text-muted`. These variables are defined within the `:root, #root, #docs-root` CSS selector and provide a centralized way to manage text colors across the application. This will improve consistency and make it easier to adjust the color scheme in the future.
This commit introduces several enhancements to the configuration handling and adds functionality to retrieve the package.json data. The changes include: - Update config to use package.json - Enhanced config handling in `src/handlers/config.ts`: - Updated the getConfig, updateConfig, getPlugins, createbackup, listBackups, downloadbackup, restoreBackup, addHost, updateHost, and removeHost functions to improve error handling and logging. - Added a new getPackage function to retrieve package.json data. - Updated the index file to export new handlers
The `PackageJson` type from `knip` was imported but not used in the `config.ts` file. This commit removes the unused import to improve code clarity and reduce unnecessary dependencies.
- Updated the default theme variables in the database initialization to improve the initial user experience. - Minor formatting and consistency improvements in database initialization logic.
This commit introduces a mechanism to reload the schedules when the configuration is updated. This ensures that the scheduler is always running with the latest configuration settings. It also adds logging to the deletion of Themes The changes include: - Added a function to the file. This function clears all existing schedules and restarts them. - Modified the function in to call the function after updating the configuration in the database. - Added logging to theme deletion
Refactor: Move API logic to handlers
This commit introduces the collection of network statistics for Docker containers, including receive and transmit rates, and total bytes. It also refactors and improves the data fetching and processing logic for container stats, including adding timestamps and improving validation. - Add `network_rx_rate`, `network_tx_rate`, `network_rx_bytes`, and `network_tx_bytes` columns to the `container_stats` table. - Update the `addContainerStats` function to include network stats and a timestamp. - Add a new function `getLastContainerStats` to retrieve the last recorded stats for a container, used for calculating rates. - Refactor `storeContainerData` to fetch and calculate network stats, including using the previous stats to calculate RX/TX rates. - Improve data validation for container stats. - Update default theme colors to be more accessible.
This commit introduces the ability to store and retrieve theme options in the database. The `themes` table in the database has been updated to include an `options` column, which stores the theme options as a JSON string. The `addTheme` function now accepts an `options` parameter and stores it in the database. A new function `getThemeOptions` has been added to retrieve the theme options for a given theme. This change allows for more flexible and customizable themes.
This commit applies consistent formatting and removes unnecessary blank lines across several files, improving code readability and maintainability. No functional changes are included.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
Breaking change
enhancement
New feature or request
new feature
A new feature will be added by this PR
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary by Sourcery
Refactor the project to use Bun.sh and Elysia.js, and introduce a plugin system for custom logic and notifications. The API now provides real-time container metrics via WebSocket, multi-host Docker environment monitoring, Compose stack deployment/management, historical stats storage (SQLite), Swagger API documentation, and a web dashboard.
New Features:
Summary by Sourcery
Refactor the project to use Bun.sh and Elysia.js, introducing a comprehensive Docker monitoring and management platform with enhanced features and architectural improvements.
New Features:
Enhancements:
Build:
CI: