Split dockerfile into three different dockerfiles such that dependencies
are only downloaded once
This allows the build to be a bit faster, since all deps are downloaded
once at the start.
This also makes it so the frontend container no longer needs to be ran,
as its files are directly embedded into the nginx container
This also remove the extra files, since bind mounts do work
it also remove the entrypoint.sh file, as you should prefer to not use
it
* WIP block users
* Add test to check if the person for user X is blocked or not
* Added function isBlocked return true if user x is blocked by user y
* Added block ans un block messages
* Route / broadcast added ny Maix
* notification block and un block with icon now works, started clean up
* cleaning up the code
* cleaning up the code - WIP
* cleaning up the code - WIP
* clean up code - WIP
* clean up code - WIP
* WIP block users
* Add test to check if the person for user X is blocked or not
* Added function isBlocked return true if user x is blocked by user y
* Added block ans un block messages
* REBASE -trying
* REBASE trying
* REBASE problems
* REBASE problems
* REBASE problems
* MERGE problems
* REBASE problem
* REBASE problem
* clean up code - WIP
* MERGED master into nigel/blockUser
* linter OK
* TTT problem with package
* Deletes tic tac and icons
- Chore: ran `make npm@update` to update deps and lockfile
- Chat: new plugin: Socket.ts that allow the use of socket.io with
fastify (fastify-socket.io is not updated)
- Chat: Put everything from `src/socket.ts` that needed to be saved into
`src/app.ts`
- Removed `auth` table and merged its information inside the `user`
table
- Changed around some field names in the database
- Changed Create*User functions to not be using overload but different
functions
* feat(docker/monitoring): adding the first monitoring tools from the docker file
- The first tools is Grafana basicly the tool to supervise all the data
* feat(monitoring/blackbox): adding initial configuration
* feat(monitoring/grafana): adding the configuration to alerting on the discord channels
* feat(monitoring/grafana): adding the grafana dashboard (docker monitoring)
* feat(monitoring/grafana): adding the grafana dashboard (global monitoring)
* feat(monitoring/grafana): adding the global configuration for dashboards
* feat(monitoring/grafana): adding the prometheus configuration
* feat(monitoring/prometheus): adding the configuration of prometheus as the main grafana sources
* core(docker-compose): adding the monitoring part for the docker files
* feat(monitoring/grafana): removing the monitoring global
* feat(monitoring/prometheus): removing the blackbox
- The self certificate is ruinning everything
* core(docker-compose): removing the blackbox container
* core(env/example): adding a env example
* feat(monitoring/blackbox): adding initial configuration
* test(nginx/location): adding a test to test blackbox
* feat(monitoring/prometheus): adding blackbox to the prometheus configuration
* feat(monitoring/grafana): adding the start of the global dashboard
* feat(monitoring/blackbox): adding tls_configuration skip
- The ssl certificate have to be self-signed
* feat(monitoring/grafana): global is now checked and work w/ others services
* feat(monitoring/prometheus): checking other services run
* feat(nginx/conf): now http port will mirror the https
- Usefull for intern docker communication
* feat(auth/app): adding the /monitoring routes
* feat(icons/app): adding the /monitoring routes
* feat(user/app): adding the /monitoring routes
* refactor(auth/src): linting the app.ts
* refactor(icons/src): linting the app.ts
* refactor(user/src): linting the app.ts
- Updated to Typebox 1.0.0 to better support Openapi type generation
- Changed dockerfile to fetch depedencies only once
- Fixed Routes to properly handle openapi
- Fixed Routes to respond with multiples status code (no more only 200)
- Fixed Schemas so the auth-gated endpoint properly reflect that
- Added Makefile rule to generate openapi client (none working due to
missing files)
Auth: user can now login with any oauth2 provider the config list
account will be created on demands if not already created.
any oauth2 account is unique (can't link an account to any other
auth method)
Icons: Fixed docker-compose to force JWT_SECRET for now
Auth: Fixed Guest Login to actually work
Auth: Added `Login as Guest` in the login_demo page
Shared: Fixed db/user + uuid modules
- Split userinfo APIs to their own service (`user`)
- Added user service to nginx and docker-compose
- Cleaned up package.json across the project to remove useless
depedencies
- Added word list for Guest username generation (source in file itself)
- Reworked internal of `user` DB to not have a difference between "raw"
id and normal ID (UUID)
- JWT now uses the correct information to determine the user
(id instead of name)
- A SIGTERM handler has been made, such that docker doesn't use SIGKILL
- CodeWise: Changed everything to use undefined when not present
- CodeWise: checks for nonpresent value using `isNullish`
- enableOtp: enable Otp, return topt url. Does nothing when
already enabled
- disableOtp: disable 2FA Totp for the user
- statusOtp: get the 2FA status for the user. return the Totp Url if
enabled
- loginDemo: split into two files
- loginDemo: supports for 2FA
- loginDemo: better response box