Commit Graph
425 Commits
Author SHA1 Message Date
github-actions[bot] 147c59ec33 chore: bump version to 1.3.1 [skip ci] 2026-03-03 05:31:34 +00:00
Juan Denis 023d3c40c5 Add .claude skills and update .gitignore
Introduce six new .claude skill definitions for developer workflows: audit-subprocess, code-review, create-pr, db-inspect, deploy, and new-feature (each added under .claude/skills/). Update .gitignore to stop globally excluding the .claude directory (so skills can be tracked) and add ignores for generated artifacts and local settings: /.pr, /.reviews, and .claude/settings.local.json.
2026-03-03 00:31:21 -05:00
github-actions[bot] 683653d402 chore: bump version to 1.3.0 [skip ci] 2026-03-03 03:49:16 +00:00
Juan Denis 698650422f Merge pull request #26 from Piya-Boy/feature/backups-storage-provider
feature: add backups storage provider
2026-03-02 22:49:06 -05:00
Juan Denis b992220f79 Add dev launcher; harden backups & storage
Add cross-platform development launchers (dev.sh, dev.ps1) and a frontend ESLint flat config; remove legacy scripts and update docs to use ./dev.sh. Harden backup and storage logic: require admin for backup endpoints, use realpath checks to ensure backup paths stay inside the backup dir, prevent path traversal during archive extraction, and generate schedule IDs with UUIDs. Improve StorageProviderService with masked-secret handling, set restrictive file perms on config, validate S3/B2 endpoint URLs to mitigate SSRF (urlparse + ipaddress), avoid following symlinks during uploads, and adjust MD5 usage. Update Bandit config to skip expected noisy checks and tweak .gitignore entries and contributing docs to target the dev branch and the new dev scripts.
2026-03-02 22:48:29 -05:00
Piya f0e640237a feature: add backups storage provider
Align backups API, services, frontend, and dev scripts for new backup storage functionality.

Made-with: Cursor
2026-03-03 02:56:51 +07:00
Juan Denis bd05d6d1d3 Merge pull request #25 from jhd3197/dev
Containerize the full stack and fix repo references
2026-03-01 14:35:22 -05:00
github-actions[bot] b055470bf3 chore: bump version to 1.2.91 [skip ci] 2026-03-01 19:30:40 +00:00
Juan Denis 8921b6ff0a Compose: containerize backend & build frontend
Move the backend into docker-compose and switch the frontend to a multi-stage Docker build. Key changes:

- Added backend/.dockerignore to ignore virtualenv, pycache, env files, instance, etc.
- Updated backend Flask app to safely serve index.html only if it exists and return JSON status/errors when frontend assets are absent.
- Removed docker-compose.dev.yml and expanded docker-compose.yml to run both backend and frontend in Docker (backend service, healthcheck, restart/logging, new ports 5849:5000 & 3847:80, and named volumes).
- Frontend changes: remove file ignores that prevented in-container builds, replace nginx-only image with a Node builder stage + nginx runtime (builds assets in Docker), and update nginx proxy to target the backend service (proxy_pass http://backend:5000).
- Updated dev script (scripts/dev/dev.bat) to use plain `docker compose` commands and the new service/container names and ports.

These changes enable fully containerized local/dev runs where the frontend is built inside Docker and the backend runs as a service in the compose network.
2026-03-01 14:30:21 -05:00
github-actions[bot] d588dee7c2 chore: bump version to 1.2.90 [skip ci] 2026-03-01 18:43:36 +00:00
Juan Denis 54e6e023a2 Bump Flask and Werkzeug versions
Update backend/requirements.txt to upgrade Flask from 3.0.0 to 3.1.3 and Werkzeug from 3.1.5 to 3.1.6. Applies minor/patch updates for bug fixes and dependency compatibility in the backend.
2026-03-01 13:43:11 -05:00
github-actions[bot] 96f148f083 chore: bump version to 1.2.89 [skip ci] 2026-03-01 18:39:10 +00:00
Juan Denis f0eb8b8cd9 Update GitHub repo references and install params
Replace hardcoded repository URL from serverkit/serverkit to jhd3197/ServerKit across agent Dockerfile, README, packaging scripts (deb/rpm) and install scripts so downloads and metadata point to the correct repo. Backend install endpoints now replace the repo placeholder with the GITHUB_REPO constant, and the frontend Windows install command was adjusted to use the -Server parameter instead of -ServerUrl. These changes ensure install scripts, packages, and generated docs reference the intended repository and that generated installer commands match the agent's expected flags.
2026-03-01 13:39:03 -05:00
Juan Denis 580a95c7bb Use window.location.origin for install scripts
Replace hardcoded placeholder host with window.location.origin when generating Linux and Windows install scripts so the scripts use the current deployment origin at runtime. Also adjust the Linux install flag from `--server-url` to `--server` to match the expected install script parameter. These changes ensure generated installer commands point to the correct server and include the registration token.
2026-03-01 13:25:07 -05:00
Juan Denis dd5e2ac490 Merge pull request #21 from jhd3197/dev
Update Discord invite links
2026-02-26 17:21:49 -05:00
github-actions[bot] 1f46db0193 chore: bump version to 1.2.88 [skip ci] 2026-02-26 22:21:41 +00:00
Juan Denis d4779a449b Update Discord invite links
Replace outdated Discord invite (93QEWZeHRK) with new invite (ZKk6tkCQfG) across README.md and localized docs (docs/README.es.md, docs/README.pt.md, docs/README.zh-CN.md). Updates both the badge URL and the community "Join" links to point to the new Discord invite.
2026-02-26 17:21:22 -05:00
Juan Denis cf57867221 Merge pull request #20 from jhd3197/dev
Update Discord links and ignore .vscode
2026-02-26 17:05:56 -05:00
github-actions[bot] 43004416f9 chore: bump version to 1.2.87 [skip ci] 2026-02-26 22:04:42 +00:00
Juan Denis 800e8d5296 Update Discord links and ignore .vscode
Replace the old Discord invite (pe4E5zmj) with the new invite (93QEWZeHRK) in README.md and localized docs (docs/README.{es,pt,zh-CN}.md). Add /.vscode and /.vscode1 to .gitignore and remove .vscode/settings.json to avoid committing editor-specific settings.
2026-02-26 17:04:31 -05:00
Juan Denis fffe0f5937 Merge pull request #18 from jhd3197/dev
Fix remaining vulnerable dependencies flagged by Safety CI
2026-02-11 23:14:23 -05:00
github-actions[bot] 5f0b70b06c chore: bump version to 1.2.86 [skip ci] 2026-02-12 04:13:43 +00:00
Juan Denis e5498af764 Fix remaining vulnerable dependencies flagged by Safety CI
- Werkzeug 3.0.1 → 3.1.5 (5 vulnerabilities)
- Flask-Cors 5.0.1 → 6.0.2 (3 vulnerabilities)
- gunicorn 22.0.0 → 23.0.0 (TolerateDangerousFraming header issue)
- cryptography 44.0.3 → 46.0.5 (CVE-2026-26007 improper input validation)
2026-02-11 23:13:28 -05:00
Juan Denis 033e36a50f Merge pull request #17 from jhd3197/dev
Add Bandit + Safety security scanning to CI and fix vulnerable deps
2026-02-11 23:06:43 -05:00
github-actions[bot] d9e12d1eb1 chore: bump version to 1.2.85 [skip ci] 2026-02-12 04:06:21 +00:00
Juan Denis 9604e1ea66 Add Bandit + Safety security scanning to CI and fix vulnerable deps
- Add .github/workflows/security-scan.yml with Bandit SAST and Safety
  dependency scanning (requires SAFETY_API_KEY secret)
- Add backend/.bandit config to skip expected noise (B404, B603, B607)
- Update vulnerable dependencies:
  gunicorn 21.2.0 → 22.0.0 (CVE-2024-1135 HTTP smuggling)
  gevent 23.9.1 → 25.4.2 (HTTP smuggling + race condition)
  python-socketio 5.10.0 → 5.14.0 (CVE-2025-61765 deserialization)
  cryptography 42.0.0 → 44.0.3 (multiple CVEs)
  requests 2.31.0 → 2.32.5 (vulnerability fixes)
  Flask-Cors 4.0.0 → 5.0.1, Flask-SocketIO 5.3.6 → 5.4.1
  python-engineio 4.8.1 → 4.11.2
- Pin previously unpinned deps: schedule, passlib, bcrypt
2026-02-11 23:06:14 -05:00
Juan Denis dee03553d9 Merge pull request #16 from jhd3197/dev
Add system utils CI workflow and integration tests
2026-02-10 16:37:59 -05:00
github-actions[bot] 34ca8dee8f chore: bump version to 1.2.84 [skip ci] 2026-02-10 21:36:42 +00:00
Juan Denis e1f732c7e9 Update CI images and package install steps
Bump distro images (ubuntu:22.04 -> ubuntu:24.04, fedora:40 -> fedora:41) in the system utils test workflow. Make package installation commands less quiet and more robust: clear /var/lib/apt/lists/* before apt-get update and remove -q flags from apt-get/dnf/yum installs so logs are more informative and apt updates won't fail on stale lists.
2026-02-10 16:36:11 -05:00
github-actions[bot] deb29d3678 chore: bump version to 1.2.83 [skip ci] 2026-02-10 21:33:19 +00:00
Juan Denis 926c2f3afd CI: set noninteractive env and harden install step
Set DEBIAN_FRONTEND=noninteractive to prevent interactive prompts during image package installs, add shell: bash for the Install step, and normalize command -v checks/redirection so package manager detection and installs behave more reliably. Also remove excessive suppression of apt-get update/install output to surface failures; the pip3 pytest install fallback remains unchanged.
2026-02-10 16:33:10 -05:00
Juan Denis d5f6e13d04 Move EXPECTED_MANAGER check into pytest test
Remove the inline "Verify expected package manager" step from the GitHub Actions workflow and add a pytest in backend/tests/test_utils_system_integration.py. The new test (test_matches_expected_manager_from_ci) reads EXPECTED_MANAGER from the environment, skips when not set, and asserts PackageManager.detect() matches the expected value. This consolidates the CI verification into the test suite and simplifies the workflow.
2026-02-10 16:03:19 -05:00
github-actions[bot] 7f80932c87 chore: bump version to 1.2.82 [skip ci] 2026-02-10 13:26:04 +00:00
Juan Denis 02797c891f Add system utils CI workflow and integration tests
Introduce a new GitHub Actions workflow (.github/workflows/test-system-utils.yml) that runs unit tests, distro-based integration tests in container images (ubuntu, debian, fedora, rocky) to validate package manager and systemctl detection, and an audit job that greps migrated service files for raw subprocess patterns. Add backend/tests/test_utils_system_integration.py: Linux-only integration smoke tests that directly import backend/app/utils/system.py (avoiding Flask deps) to verify PackageManager detection, command availability, and basic ServiceControl behavior. Designed for CI verification of system utilities across real distros.
2026-02-10 08:25:54 -05:00
Juan Denis d70831fd4a Merge pull request #15 from jhd3197/dev
Use system utils for commands and services
2026-02-10 08:10:05 -05:00
github-actions[bot] 401fd71402 chore: bump version to 1.2.81 [skip ci] 2026-02-10 13:09:51 +00:00
Juan Denis 06de896175 Use system utils for commands and services
Refactor services to use centralized system helpers (ServiceControl, PackageManager, run_privileged, is_command_available) instead of ad-hoc subprocess/os calls. Updated deployment, firewall, ftp, nginx, php, python, security, and ssl services to call the new utilities and added error/timeout handling improvements and package manager abstraction. Added backend/app/utils/system.py implementing the helpers and backend/tests/test_utils_system.py with unit tests. This centralizes privileged command execution and service/package management, simplifying tests and platform differences.
2026-02-10 08:09:38 -05:00
Juan Denis 254930849a Merge pull request #14 from jhd3197/dev
Relocate language links in README files
2026-02-10 02:27:55 -05:00
github-actions[bot] befcdb9e9e chore: bump version to 1.2.80 [skip ci] 2026-02-10 07:27:40 +00:00
Juan Denis e9277bb3fa Relocate language links in README files
Move the language selection links from the top center of the README and localized docs into the area below the project description to improve header spacing and layout. Updated README.md and docs/README.es.md, docs/README.pt.md, docs/README.zh-CN.md accordingly.
2026-02-10 02:27:30 -05:00
Juan Denis a9622fdf0f Merge pull request #13 from jhd3197/dev
Replace jwt_required with RBAC, use socket auth
2026-02-10 02:24:54 -05:00
github-actions[bot] e1fe2a290e chore: bump version to 1.2.79 [skip ci] 2026-02-10 07:24:31 +00:00
Juan Denis d2b9877d74 Revamp README and add translations
Major overhaul of README.md: reorganized layout and sections (features, screenshots, quick start, architecture, roadmap, tech stack, docs, contributing, community), updated badges and visuals, simplified install instructions, and added architecture diagram and roadmap. Added translated documentation files: docs/README.es.md, docs/README.pt.md, and docs/README.zh-CN.md.
2026-02-10 02:24:21 -05:00
github-actions[bot] 79c397fa69 chore: bump version to 1.2.78 [skip ci] 2026-02-09 04:14:22 +00:00
Juan Denis caa799ba1b Replace jwt_required with RBAC, use socket auth
Replace generic @jwt_required() usage with role-based decorators and switch Socket.IO token handling to the auth payload.

- Replace jwt_required with viewer_required/admin_required across API modules (backend/app/api/cron.py, firewall.py, ftp.py, git.py, metrics.py) and update imports accordingly.
- Require JWT for previously public system/private endpoints (backend/app/api/system.py, private_urls.py).
- Change Socket.IO server connection handler to accept auth payload and read token from auth (backend/app/sockets.py) to avoid token leakage in query strings.
- Update frontend clients to send token via socket auth instead of query (frontend/src/pages/WordPressProject.jsx, frontend/src/services/socket.js).

These changes add finer-grained RBAC control for endpoints and improve socket auth security by removing tokens from URLs/logs.
2026-02-08 23:14:13 -05:00
Juan Denis d523c84dc6 Merge pull request #11 from jhd3197/dev
Add tracking for install, update, and uninstall events
2026-01-28 22:35:00 -05:00
github-actions[bot] 62fda16976 chore: bump version to 1.2.77 [skip ci] 2026-01-29 03:31:56 +00:00
Juan Denis fc02f40636 Add tracking for install, update, and uninstall events
Added calls to serverkit.ai to track successful installation, update, and uninstall events with the current version. This helps monitor usage and improve support.
2026-01-28 22:31:46 -05:00
Juan Denis af5627f740 Merge pull request #10 from jhd3197/dev
Add multi-site WordPress hub with environments and dev path management
2026-01-28 22:18:47 -05:00
github-actions[bot] 1e8afb7a43 chore: bump version to 1.2.76 [skip ci] 2026-01-29 03:16:15 +00:00