diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts index b94178157..0aed77583 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -128,8 +128,10 @@ if ( const federation = { FEDERATION_BACKEND_SEND_ON_API: process.env.FEDERATION_BACKEND_SEND_ON_API ?? '1_0', - FEDERATION_VALIDATE_COMMUNITY_TIMER: - Number(process.env.FEDERATION_VALIDATE_COMMUNITY_TIMER) ?? 60000, + // ?? operator don't work here as expected + FEDERATION_VALIDATE_COMMUNITY_TIMER: Number( + process.env.FEDERATION_VALIDATE_COMMUNITY_TIMER ?? 60000, + ), FEDERATION_XCOM_SENDCOINS_ENABLED: process.env.FEDERATION_XCOM_SENDCOINS_ENABLED === 'true' ?? false, // default value for community-uuid is equal uuid of stage-3 diff --git a/backend/src/federation/validateCommunities.ts b/backend/src/federation/validateCommunities.ts index f19d606bd..b76e22087 100644 --- a/backend/src/federation/validateCommunities.ts +++ b/backend/src/federation/validateCommunities.ts @@ -8,6 +8,7 @@ import { FederatedCommunityLoggingView } from '@logging/FederatedCommunityLoggin import { FederationClient as V1_0_FederationClient } from '@/federation/client/1_0/FederationClient' import { PublicCommunityInfo } from '@/federation/client/1_0/model/PublicCommunityInfo' import { FederationClientFactory } from '@/federation/client/FederationClientFactory' +import { LogError } from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' import { startCommunityAuthentication } from './authenticateCommunities' @@ -15,6 +16,9 @@ import { PublicCommunityInfoLoggingView } from './client/1_0/logging/PublicCommu import { ApiVersionType } from './enum/apiVersionType' export async function startValidateCommunities(timerInterval: number): Promise { + if (Number.isNaN(timerInterval) || timerInterval <= 0) { + throw new LogError('FEDERATION_VALIDATE_COMMUNITY_TIMER is not a positive number') + } logger.info( `Federation: startValidateCommunities loop with an interval of ${timerInterval} ms...`, ) diff --git a/deployment/hetzner_cloud/README.md b/deployment/hetzner_cloud/README.md index d03ff0b46..d2cd66a35 100644 --- a/deployment/hetzner_cloud/README.md +++ b/deployment/hetzner_cloud/README.md @@ -1,7 +1,4 @@ # Setup on Hetzner Cloud Server -Suggested minimal Plan: CX41 -4x vCPU, 16 GB Ram, 160 GB Disk Space, 20.71 € per month (04.01.2024) - Suggested OS: Debian 12 @@ -15,6 +12,10 @@ ssh_authorized_keys: - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAkLGbzbG7KIGfkssKJBkc/0EVAzQ/8vjvVHzNdxhK8J yourname ``` +I made a (german) video to show it to you: + +[![Video](https://img.youtube.com/vi/fORK3Bt3lPw/hqdefault.jpg)](https://www.youtube.com/watch?v=fORK3Bt3lPw) + ## After Setup Cloud Server with cloudConfig.yaml ### setup your domain pointing on server ip address ### login to your new server as root @@ -99,16 +100,20 @@ nano .env # adjust values accordingly ``` -### Run `install.sh` +### Run `install.sh` with branch name ***!!! Attention !!!*** Don't use this script if you have custom config in /etc/nginx/conf.d, because this script will remove it and ln ../bare_metal/nginx/conf.d ```bash cd ~/gradido/deployment/hetzner_cloud -sudo ./install.sh +sudo ./install.sh release-2_2_0 ``` +I made a (german) video to show it to you: + +[![Video](https://img.youtube.com/vi/9h-55Si6bMk/hqdefault.jpg)](https://www.youtube.com/watch?v=9h-55Si6bMk) + ### Make yourself admin - Create an account on your new gradido instance - Click the link in the activation email @@ -122,3 +127,6 @@ sudo mysql -D gradido_community -e "insert into user_roles(user_id, role) values - login with you newly created user - if you has a link to `Admin Area` it worked and you are admin +I made a (german) video to show it to you: + +[![Video](https://img.youtube.com/vi/xVQ5t4MnLrE/hqdefault.jpg)](https://www.youtube.com/watch?v=xVQ5t4MnLrE)