From e4959ad53412fded1d88f3e3400f46402de894b4 Mon Sep 17 00:00:00 2001 From: Charles Bochet Date: Fri, 27 Sep 2024 19:10:26 +0200 Subject: [PATCH] Add 0.30 release notes (#7300) In this PR: - update your environment variables to default `CACHE_STORAGE_TYPE` to `redis` and `MESSAGE_QUEUE_TYPE` to `bull-mq` - add redis container to our default docker-compose - add `REDIS_HOST` and `REDIS_PORT` to docker-compose yaml - add upgrade instructions --- packages/twenty-docker/.env.example | 4 ++-- packages/twenty-docker/docker-compose.yml | 14 ++++++++++-- packages/twenty-emails/package.json | 2 +- packages/twenty-front/package.json | 2 +- packages/twenty-server/package.json | 2 +- .../environment/environment-variables.ts | 4 ++-- packages/twenty-ui/package.json | 2 +- packages/twenty-website/package.json | 2 +- .../self-hosting/self-hosting-var.mdx | 4 ++-- .../developers/self-hosting/upgrade-guide.mdx | 22 +++++++++++++++++++ 10 files changed, 45 insertions(+), 13 deletions(-) diff --git a/packages/twenty-docker/.env.example b/packages/twenty-docker/.env.example index c25482220fce..59d8d03f93a7 100644 --- a/packages/twenty-docker/.env.example +++ b/packages/twenty-docker/.env.example @@ -5,6 +5,8 @@ TAG=latest PG_DATABASE_HOST=db:5432 SERVER_URL=http://localhost:3000 +# REDIS_HOST=redis +# REDIS_PORT=6379 # Use openssl rand -base64 32 for each secret # ACCESS_TOKEN_SECRET=replace_me_with_a_random_string_access @@ -19,5 +21,3 @@ STORAGE_TYPE=local # STORAGE_S3_REGION=eu-west3 # STORAGE_S3_NAME=my-bucket # STORAGE_S3_ENDPOINT= - -MESSAGE_QUEUE_TYPE=pg-boss diff --git a/packages/twenty-docker/docker-compose.yml b/packages/twenty-docker/docker-compose.yml index 553d8ca6c9fa..b2efc1a168e4 100644 --- a/packages/twenty-docker/docker-compose.yml +++ b/packages/twenty-docker/docker-compose.yml @@ -25,7 +25,8 @@ services: PG_DATABASE_URL: postgres://twenty:twenty@${PG_DATABASE_HOST}/default SERVER_URL: ${SERVER_URL} FRONT_BASE_URL: ${FRONT_BASE_URL:-$SERVER_URL} - MESSAGE_QUEUE_TYPE: ${MESSAGE_QUEUE_TYPE} + REDIS_PORT: ${REDIS_PORT:-6379} + REDIS_HOST: ${REDIS_HOST:-redis} ENABLE_DB_MIGRATIONS: "true" @@ -34,6 +35,7 @@ services: STORAGE_S3_REGION: ${STORAGE_S3_REGION} STORAGE_S3_NAME: ${STORAGE_S3_NAME} STORAGE_S3_ENDPOINT: ${STORAGE_S3_ENDPOINT} + ACCESS_TOKEN_SECRET: ${ACCESS_TOKEN_SECRET} LOGIN_TOKEN_SECRET: ${LOGIN_TOKEN_SECRET} REFRESH_TOKEN_SECRET: ${REFRESH_TOKEN_SECRET} @@ -57,7 +59,8 @@ services: PG_DATABASE_URL: postgres://twenty:twenty@${PG_DATABASE_HOST}/default SERVER_URL: ${SERVER_URL} FRONT_BASE_URL: ${FRONT_BASE_URL:-$SERVER_URL} - MESSAGE_QUEUE_TYPE: ${MESSAGE_QUEUE_TYPE} + REDIS_PORT: ${REDIS_PORT:-6379} + REDIS_HOST: ${REDIS_HOST:-redis} ENABLE_DB_MIGRATIONS: "false" # it already runs on the server @@ -65,6 +68,7 @@ services: STORAGE_S3_REGION: ${STORAGE_S3_REGION} STORAGE_S3_NAME: ${STORAGE_S3_NAME} STORAGE_S3_ENDPOINT: ${STORAGE_S3_ENDPOINT} + ACCESS_TOKEN_SECRET: ${ACCESS_TOKEN_SECRET} LOGIN_TOKEN_SECRET: ${LOGIN_TOKEN_SECRET} REFRESH_TOKEN_SECRET: ${REFRESH_TOKEN_SECRET} @@ -89,6 +93,12 @@ services: retries: 10 restart: always + redis: + image: redis + ports: + - "6379:6379" + restart: always + volumes: docker-data: db-data: diff --git a/packages/twenty-emails/package.json b/packages/twenty-emails/package.json index 36af44f3da6e..dc0b89328e3c 100644 --- a/packages/twenty-emails/package.json +++ b/packages/twenty-emails/package.json @@ -1,6 +1,6 @@ { "name": "twenty-emails", - "version": "0.24.2", + "version": "0.30.0", "description": "", "author": "", "private": true, diff --git a/packages/twenty-front/package.json b/packages/twenty-front/package.json index 434934ed719d..e1a632247380 100644 --- a/packages/twenty-front/package.json +++ b/packages/twenty-front/package.json @@ -1,6 +1,6 @@ { "name": "twenty-front", - "version": "0.24.2", + "version": "0.30.0", "private": true, "type": "module", "scripts": { diff --git a/packages/twenty-server/package.json b/packages/twenty-server/package.json index 1a60930c4a18..d77b2faf4d78 100644 --- a/packages/twenty-server/package.json +++ b/packages/twenty-server/package.json @@ -1,6 +1,6 @@ { "name": "twenty-server", - "version": "0.24.2", + "version": "0.30.0", "description": "", "author": "", "private": true, diff --git a/packages/twenty-server/src/engine/core-modules/environment/environment-variables.ts b/packages/twenty-server/src/engine/core-modules/environment/environment-variables.ts index 4e30e84bd83e..cb5b2fbe2822 100644 --- a/packages/twenty-server/src/engine/core-modules/environment/environment-variables.ts +++ b/packages/twenty-server/src/engine/core-modules/environment/environment-variables.ts @@ -391,7 +391,7 @@ export class EnvironmentVariables { @CastToBoolean() MESSAGING_PROVIDER_GMAIL_ENABLED = false; - MESSAGE_QUEUE_TYPE: string = MessageQueueDriverType.Sync; + MESSAGE_QUEUE_TYPE: string = MessageQueueDriverType.BullMQ; EMAIL_FROM_ADDRESS = 'noreply@yourdomain.com'; @@ -426,7 +426,7 @@ export class EnvironmentVariables { @CastToPositiveNumber() API_RATE_LIMITING_LIMIT = 500; - CACHE_STORAGE_TYPE: CacheStorageType = CacheStorageType.Memory; + CACHE_STORAGE_TYPE: CacheStorageType = CacheStorageType.Redis; @CastToPositiveNumber() CACHE_STORAGE_TTL: number = 3600 * 24 * 7; diff --git a/packages/twenty-ui/package.json b/packages/twenty-ui/package.json index 132d5b99edaf..b004cba081fc 100644 --- a/packages/twenty-ui/package.json +++ b/packages/twenty-ui/package.json @@ -1,6 +1,6 @@ { "name": "twenty-ui", - "version": "0.24.2", + "version": "0.30.0", "type": "module", "main": "./src/index.ts", "exports": { diff --git a/packages/twenty-website/package.json b/packages/twenty-website/package.json index 3219867baf33..c235f812a142 100644 --- a/packages/twenty-website/package.json +++ b/packages/twenty-website/package.json @@ -1,6 +1,6 @@ { "name": "twenty-website", - "version": "0.24.2", + "version": "0.30.0", "private": true, "scripts": { "nx": "NX_DEFAULT_PROJECT=twenty-website node ../../node_modules/nx/bin/nx.js", diff --git a/packages/twenty-website/src/content/developers/self-hosting/self-hosting-var.mdx b/packages/twenty-website/src/content/developers/self-hosting/self-hosting-var.mdx index d5219e511fba..6eb28b045504 100644 --- a/packages/twenty-website/src/content/developers/self-hosting/self-hosting-var.mdx +++ b/packages/twenty-website/src/content/developers/self-hosting/self-hosting-var.mdx @@ -41,7 +41,7 @@ yarn command:prod cron:calendar:calendar-event-list-fetch ['FRONT_BASE_URL', 'http://localhost:3001', 'Url to the hosted frontend'], ['SERVER_URL', 'http://localhost:3000', 'Url to the hosted server'], ['PORT', '3000', 'Port'], - ['CACHE_STORAGE_TYPE', 'memory', 'Cache type (memory, redis...)'], + ['CACHE_STORAGE_TYPE', 'redis', 'Cache type (memory, redis...)'], ['CACHE_STORAGE_TTL', '3600 * 24 * 7', 'Cache TTL in seconds'] ]}> @@ -162,7 +162,7 @@ yarn command:prod cron:calendar:calendar-event-list-fetch ### Message Queue ### Logging diff --git a/packages/twenty-website/src/content/developers/self-hosting/upgrade-guide.mdx b/packages/twenty-website/src/content/developers/self-hosting/upgrade-guide.mdx index d22c3384f0dd..8a71df02a433 100644 --- a/packages/twenty-website/src/content/developers/self-hosting/upgrade-guide.mdx +++ b/packages/twenty-website/src/content/developers/self-hosting/upgrade-guide.mdx @@ -58,4 +58,26 @@ yarn command:prod upgrade-0.24 The `yarn database:migrate:prod` command will apply the migrations to the database structure (core and metadata schemas) The `yarn command:prod upgrade-0.24` takes care of the data migration of all workspaces. +# v0.24.0 to v0.30.0 + +Upgrade your Twenty instance to use v0.30.0 image + +**Breaking change**: +To enhance performances, Twenty now requires redis cache to be configured. We have updated our [docker-compose.yml](https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/docker-compose.yml) to reflect this. +Make sure to update your configuration and to update your environment variables accordingly: +``` +REDIS_HOST={your-redis-host} +REDIS_PORT={your-redis-port} +CACHE_STORAGE_TYPE=redis +``` + +**Schema and data migration**: +``` +yarn database:migrate:prod +yarn command:prod upgrade-0.30 +``` + +The `yarn database:migrate:prod` command will apply the migrations to the database structure (core and metadata schemas) +The `yarn command:prod upgrade-30` takes care of the data migration of all workspaces. +