Commit Graph

149 Commits

Author SHA1 Message Date
tigattack
0414ea39d0 fix(frontend): Use Date.now() instead of new Date() 2025-09-25 23:54:24 +01:00
tigattack
6357839619 fix(frontend): Change to an optional chain 2025-09-25 23:54:24 +01:00
tigattack
c840a3fdcc fix(frontend): isNaN is unsafe 2025-09-25 23:54:24 +01:00
tigattack
a1bf2df59d fix(frontend): unused vars/params 2025-09-25 23:54:24 +01:00
tigattack
67a5462a25 fix(frontend): imports are unused 2025-09-25 23:54:24 +01:00
tigattack
a32007f56b fix(frontend): Static Elements should not be interactive 2025-09-25 23:54:24 +01:00
tigattack
6e1ec0d031 fix(frontend): elements with button role can be changed to button 2025-09-25 23:54:23 +01:00
tigattack
ce2ba0face fix(frontend): hook does not specify its dependency 2025-09-25 23:54:23 +01:00
tigattack
53f8471d75 fix(frontend): Avoid using the index of an array as key property in an element 2025-09-25 23:54:23 +01:00
tigattack
74f42b5bee fix(frontend): A form label must be associated with an input 2025-09-25 23:54:23 +01:00
tigattack
a84da7c731 fix(frontend): Static Elements should not be interactive 2025-09-25 23:54:23 +01:00
tigattack
83ce7c64fd style(frontend): fmt 2025-09-25 23:54:23 +01:00
tigattack
15902da87c fix(frontend): use useId() for input IDs 2025-09-25 23:54:23 +01:00
tigattack
a11f180d23 fix(frontend): add missing explicit types for button elems 2025-09-25 23:54:23 +01:00
tigattack
35bf858977 fix(frontend): use useId() for input IDs 2025-09-25 23:54:23 +01:00
tigattack
330f80478d chore: add biome 2025-09-25 23:54:23 +01:00
tigattack
b43b20fbe9 style(frontend): fmt 2025-09-25 23:14:35 +01:00
tigattack
591389a91f style(backend): fmt 2025-09-25 23:13:49 +01:00
tigattack
6d70a67a49 docs(docker): link to images in GHCR 2025-09-25 23:13:49 +01:00
tigattack
0cca6607d7 chore(docker): tweak db healthcheck
Make the stack faster to start.
2025-09-25 23:13:49 +01:00
tigattack
5f0ce7f26a chore(docker): unpin alpine version 2025-09-25 23:13:49 +01:00
tigattack
38d0dcb3c4 docs(docker): add volumes info 2025-09-25 23:13:49 +01:00
tigattack
03d6ebb43a chore(compose): move agent_files to docker vol 2025-09-25 23:13:49 +01:00
tigattack
b7ce2a3f54 docs(docker): move password update docs 2025-09-25 23:13:49 +01:00
Muhammad Ibrahim
783f8d73fe Replaced older dependancies with newer ones 2025-09-25 15:40:13 +01:00
Muhammad Ibrahim
a479003ba9 fix: return first_name and last_name in setup-admin and signup responses
- Add first_name and last_name to select clause in setup-admin endpoint
- Add first_name and last_name to select clause in signup endpoint
- Ensures frontend receives the name fields after user creation
- Fixes issue where first/last names don't populate in UI after setup

The data was being saved to database correctly but not returned in the API response, causing frontend to not display the names properly.
2025-09-24 20:17:36 +01:00
Muhammad Ibrahim
78f4eff375 fix: correct package versions and npm flags
Frontend package.json fixes:
- react-router-dom: ^6.31.0 → ^6.30.1 (6.31.0 doesn't exist)
- postcss: ^8.5.1 → ^8.5.6 (use latest stable version)

Setup script fixes:
- Replace deprecated --production flag with --omit=dev
- Resolves npm warning: 'npm WARN config production Use --omit=dev instead'

Fixes npm install errors:
- 'No matching version found for react-router-dom@^6.31.0'
- Deprecated npm configuration warnings
2025-09-24 20:07:36 +01:00
Muhammad Ibrahim
c4376d35c9 setup: add intelligent package manager detection for Debian 13+
- Add detect_package_manager() function that prefers 'apt' over 'apt-get'
- Use PKG_MANAGER variables throughout script for consistency
- Support both modern Debian 13+ (apt) and older systems (apt-get)
- Automatically detect and use the best available package manager
- Better error handling when no package manager is found

Fixes compatibility with:
- Debian 13 (Trixie) and newer
- Ubuntu 22.04+ (prefers apt)
- Older Debian/Ubuntu systems (fallback to apt-get)

All package operations now use the detected package manager:
- System updates and upgrades
- Prerequisites installation
- Node.js, PostgreSQL, nginx, certbot installation
2025-09-24 19:55:42 +01:00
Muhammad Ibrahim
9f3016be57 deps: update all dependencies to latest non-deprecated versions
Frontend:
- ESLint: 8.53.0 → 9.17.0 (fixes deprecated warnings)
- React/React-DOM: 18.2.0 → 18.3.1
- Axios: 1.6.2 → 1.7.9
- Chart.js: 4.4.0 → 4.4.7
- Date-fns: 2.30.0 → 4.1.0 (major update)
- Express: 4.18.2 → 4.21.2
- HTTP-proxy-middleware: 2.0.6 → 3.0.3
- Lucide-react: 0.294.0 → 0.468.0
- React-router-dom: 6.20.1 → 6.31.0
- Add ESLint v9 flat config (eslint.config.js)
- Add required @eslint/js and globals dependencies

Backend:
- Prisma: 5.7.0 → 6.1.0
- Express: 4.18.2 → 4.21.2
- Dotenv: 16.3.1 → 16.4.7
- Express-rate-limit: 7.1.5 → 7.5.0
- Express-validator: 7.0.1 → 7.2.0
- Helmet: 7.1.0 → 8.0.0
- UUID: 9.0.1 → 11.0.3
- Winston: 3.11.0 → 3.17.0
- Nodemon: 3.0.2 → 3.1.9

Fixes npm warnings:
- rimraf < v4 deprecated
- inflight memory leaks
- glob < v9 deprecated
- @humanwhocodes packages deprecated
- ESLint v8 no longer supported
2025-09-24 19:50:50 +01:00
Muhammad Ibrahim
c3013cccd3 Added min specs of VM / LXC 2025-09-24 19:45:18 +01:00
Muhammad Ibrahim
456184d327 setup: improve sudo handling and add root checks
- Add root permission check at startup
- Install sudo automatically if not present (for Debian systems)
- Add run_as_user() helper function with better error handling
- Provide fallback PostgreSQL setup using 'su' when sudo unavailable
- Replace all sudo -u commands with the new helper function
- Better error messages for missing users/sudo

This ensures compatibility with minimal Debian systems that don't have sudo by default.
2025-09-24 19:25:49 +01:00
Muhammad Ibrahim
a9c579bdd0 setup: fix IP address handling for database/service names
- Detect when FQDN starts with digit (IP address)
- Generate 2 random letter prefix for database/service names
- Use prefixed names for DB_NAME, DB_USER, INSTANCE_USER
- Keep original FQDN for nginx configs and URLs
- Prevents PostgreSQL errors with numeric database names

Example: 192.168.1.50 -> xy192_168_1_50 for services
2025-09-24 19:22:32 +01:00
Muhammad Ibrahim
13fe8a0bc5 agents: use apt-get simulation for Ubuntu 18 compatibility; fix installer log path 2025-09-24 15:21:22 +01:00
9 Technology Group LTD
1d8742ccad Update README.md 2025-09-24 14:18:41 +01:00
9 Technology Group LTD
bccfc0876f Update README.md 2025-09-24 10:31:27 +01:00
9 Technology Group LTD
43a42aa931 Add files via upload 2025-09-24 10:30:11 +01:00
9 Technology Group LTD
ad5627362b Merge pull request #33 from 9technologygroup/docs/readme
docs: move header to top, add docker info
2025-09-24 10:15:56 +01:00
tigattack
61db61e1ba docs: move getting started above architecture/comms model 2025-09-24 10:07:43 +01:00
tigattack
8dc702e7fc docs: move header to top, add docker info 2025-09-24 10:04:14 +01:00
9 Technology Group LTD
45f5ccc638 Version 1.2.6 latest release 2025-09-24 09:45:57 +01:00
Muhammad Ibrahim
3fbe1369cf Ammended installation command 2025-09-24 09:38:30 +01:00
Muhammad Ibrahim
e62a4fed56 Merge branch 'dev' of github.com:9technologygroup/patchmon.net into dev latest v1.2.6 2025-09-24 09:20:29 +01:00
Muhammad Ibrahim
be549d4b34 Added README.md file -- finally !
Added self-hosting easy installer script -- finally !
2025-09-24 09:08:20 +01:00
Muhammad Ibrahim
99aa79a6a4 Fixed authentication redirect upon signin using states
Finally fixed dashboard defaults for new user signups
2025-09-24 07:42:15 +01:00
Muhammad Ibrahim
73761d8927 fixed dashboard defaults via server.js config 2025-09-24 07:07:38 +01:00
Muhammad Ibrahim
9889083900 reverted the removal of schema migration files to make it production save in order to not mess up previous instances 2025-09-24 03:05:22 +01:00
Muhammad Ibrahim
acb30f22bd Removed migration settings from earlier whic hwere messing with the logic of new dashboard layout system. Now has a single source of truth based on what the defaults should be in server.js 2025-09-24 02:54:44 +01:00
Muhammad Ibrahim
3a0b564a6f Fixed permissions issues
Created default user role
modified server.js to check if roles of admin/user is present
modified server.js to check dashboard cards
set up default dashboard cards to show
2025-09-24 02:33:26 +01:00
9 Technology Group LTD
e536a5b706 Merge pull request #29 from 9technologygroup/ci/build
Docker: Build workflow tweaks
2025-09-24 02:07:22 +01:00
tigattack
0a3e4ad5ee ci(build): add PAT note 2025-09-24 00:44:24 +01:00