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
This commit is contained in:
Charles Bochet
2024-09-27 19:10:26 +02:00
committed by GitHub
parent ae6777fab8
commit e4959ad534
10 changed files with 45 additions and 13 deletions

View File

@ -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

View File

@ -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:

View File

@ -1,6 +1,6 @@
{
"name": "twenty-emails",
"version": "0.24.2",
"version": "0.30.0",
"description": "",
"author": "",
"private": true,

View File

@ -1,6 +1,6 @@
{
"name": "twenty-front",
"version": "0.24.2",
"version": "0.30.0",
"private": true,
"type": "module",
"scripts": {

View File

@ -1,6 +1,6 @@
{
"name": "twenty-server",
"version": "0.24.2",
"version": "0.30.0",
"description": "",
"author": "",
"private": true,

View File

@ -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;

View File

@ -1,6 +1,6 @@
{
"name": "twenty-ui",
"version": "0.24.2",
"version": "0.30.0",
"type": "module",
"main": "./src/index.ts",
"exports": {

View File

@ -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",

View File

@ -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']
]}></ArticleTable>
@ -162,7 +162,7 @@ yarn command:prod cron:calendar:calendar-event-list-fetch
### Message Queue
<ArticleTable options={[
['MESSAGE_QUEUE_TYPE', 'pg-boss', "Queue driver: 'pg-boss' or 'bull-mq'"],
['MESSAGE_QUEUE_TYPE', 'bull-mq', "Queue driver: 'pg-boss' or 'bull-mq'"],
]}></ArticleTable>
### Logging

View File

@ -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.
<ArticleEditContent></ArticleEditContent>