Always make sure to back up your database before starting the upgrade process by running docker exec -it <db_container_name_or_id> pg_dumpall -U <postgres_user> > databases_backup.sql
.
To restore backup, run cat databases_backup.sql | docker exec -i <db_container_name_or_id> psql -U <postgres_user>
.
If you want to migrate from postgres bitnami container to postgres spilo container, you have to dump the database from the bitnami container and restore it to the spilo container using commands above.
If you used Docker Compose, follow these steps:
In a terminal, on the host where Twenty is running, turn off Twenty: docker compose down
Upgrade the version by changing the TAG
value in the .env file near your docker-compose.
Bring Twenty back online with docker compose up -d
If you want to upgrade your instance by few versions, e.g. from 0.33.0 to 0.35.0, you have to upgrade your instance sequentially, in this example from 0.33.0 to 0.34.0, then from 0.34.0 to 0.35.0.
Upgrade your Twenty instance to use v0.40.0 image
yarn database:migrate:prod
yarn command:prod upgrade-0.40
Environment Variables
IS_EMAIL_VERIFICATION_REQUIRED
, EMAIL_VERIFICATION_TOKEN_EXPIRES_IN
, WORKFLOW_EXEC_THROTTLE_LIMIT
, WORKFLOW_EXEC_THROTTLE_TTL
Upgrade your Twenty instance to use v0.35.0 image
yarn database:migrate:prod
yarn command:prod upgrade-0.35
The yarn database:migrate:prod
command will apply the migrations to the database structure (core and metadata schemas)
The yarn command:prod upgrade-0.35
takes care of the data migration of all workspaces.
Environment Variables
ENABLE_DB_MIGRATIONS
with DISABLE_DB_MIGRATIONS
(default value is now false
, you probably don't have to set anything)Upgrade your Twenty instance to use v0.34.0 image
yarn database:migrate:prod
yarn command:prod upgrade-0.34
The yarn database:migrate:prod
command will apply the migrations to the database structure (core and metadata schemas)
The yarn command:prod upgrade-0.34
takes care of the data migration of all workspaces.
Environment Variables
FRONT_BASE_URL
FRONT_DOMAIN
, FRONT_PROTOCOL
, FRONT_PORT
We have updated the way we handle the frontend URL.
You can now set the frontend URL using the FRONT_DOMAIN
, FRONT_PROTOCOL
and FRONT_PORT
variables.
If FRONT_DOMAIN is not set, the frontend URL will fall back to SERVER_URL
.
Upgrade your Twenty instance to use v0.33.0 image
yarn command:prod cache:flush
yarn database:migrate:prod
yarn command:prod upgrade-0.33
The yarn command:prod cache:flush
command will flush the Redis cache.
The yarn database:migrate:prod
command will apply the migrations to the database structure (core and metadata schemas)
The yarn command:prod upgrade-0.33
takes care of the data migration of all workspaces.
Starting from this version, twenty-postgres image for DB became deprecated and twenty-postgres-spilo is used instead.
If you want to keep using twenty-postgres image, simply replace twentycrm/twenty-postgres:${TAG}
with twentycrm/twenty-postgres
in docker-compose.yml.
Upgrade your Twenty instance to use v0.32.0 image
Schema and data migration
yarn database:migrate:prod
yarn command:prod upgrade-0.32
The yarn database:migrate:prod
command will apply the migrations to the database structure (core and metadata schemas)
The yarn command:prod upgrade-0.32
takes care of the data migration of all workspaces.
Environment Variables
We have updated the way we handle the Redis connection.
REDIS_HOST
, REDIS_PORT
, REDIS_USERNAME
, REDIS_PASSWORD
REDIS_URL
Update your .env
file to use the new REDIS_URL
variable instead of the individual Redis connection parameters.
We have also simplified the way we handle the JWT tokens.
ACCESS_TOKEN_SECRET
, LOGIN_TOKEN_SECRET
, REFRESH_TOKEN_SECRET
, FILE_TOKEN_SECRET
APP_SECRET
Update your .env
file to use the new APP_SECRET
variable instead of the individual tokens secrets (you can use the same secret as before or generate a new random string)
Connected Account
If you are using connected account to synchronize your Google emails and calendars, you will need to activate the People API on your Google Admin console.
Upgrade your Twenty instance to use v0.31.0 image
Schema and data migration:
yarn database:migrate:prod
yarn command:prod upgrade-0.31
The yarn database:migrate:prod
command will apply the migrations to the database structure (core and metadata schemas)
The yarn command:prod upgrade-0.31
takes care of the data migration of all workspaces.
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 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-0.30
takes care of the data migration of all workspaces.
Upgrade your Twenty instance to use v0.24.0 image
Run the following commands:
yarn database:migrate:prod
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.
Upgrade your Twenty instance to use v0.23.0 image
Run the following commands:
yarn database:migrate:prod
yarn command:prod upgrade-0.23
The yarn database:migrate:prod
command will apply the migrations to the Database.
The yarn command:prod upgrade-0.23
takes care of the data migration, including transferring activities to tasks/notes.
Upgrade your Twenty instance to use v0.22.0 image
Run the following commands:
yarn database:migrate:prod
yarn command:prod workspace:sync-metadata -f
yarn command:prod upgrade-0.22
The yarn database:migrate:prod
command will apply the migrations to the Database.
The yarn command:prod workspace:sync-metadata -f
command will sync the definition of standard objects to the metadata tables and apply to required migrations to existing workspaces.
The yarn command:prod upgrade-0.22
command will apply specific data transformations to adapt to the new object defaultRequestInstrumentationOptions.
As an open-source company, we welcome contributions through Github. Help us keep it up-to-date, accurate, and easy to understand by getting involved and sharing your ideas!