2024-03-29 17:25:41 +03:00
|
|
|
version: "3.9"
|
2024-03-22 11:16:39 +03:00
|
|
|
name: twenty
|
|
|
|
|
|
|
|
services:
|
2024-06-12 22:17:31 +03:00
|
|
|
change-vol-ownership:
|
|
|
|
image: ubuntu
|
|
|
|
user: root
|
|
|
|
volumes:
|
|
|
|
- server-local-data:/tmp/server-local-data
|
|
|
|
- docker-data:/tmp/docker-data
|
|
|
|
command: >
|
|
|
|
bash -c "
|
|
|
|
chown -R 1000:1000 /tmp/server-local-data
|
|
|
|
&& chown -R 1000:1000 /tmp/docker-data"
|
|
|
|
|
2024-03-22 11:16:39 +03:00
|
|
|
server:
|
|
|
|
image: twentycrm/twenty:${TAG}
|
|
|
|
volumes:
|
2024-06-12 22:17:31 +03:00
|
|
|
- server-local-data:/app/packages/twenty-server/${STORAGE_LOCAL_PATH:-.local-storage}
|
|
|
|
- docker-data:/app/docker-data
|
2024-03-22 11:16:39 +03:00
|
|
|
ports:
|
|
|
|
- "3000:3000"
|
|
|
|
environment:
|
|
|
|
PORT: 3000
|
|
|
|
PG_DATABASE_URL: postgres://twenty:twenty@${PG_DATABASE_HOST}/default
|
|
|
|
SERVER_URL: ${SERVER_URL}
|
|
|
|
FRONT_BASE_URL: ${FRONT_BASE_URL:-$SERVER_URL}
|
Refactor Redis connections to use Redis URL - closes #7421 (#7736)
Closes #7421
This pull request consolidates Redis connection parameters into a single
`REDIS_URL` environment variable across various configuration files and
code modules. The most important changes include updates to environment
variable files, Docker and Kubernetes configurations, and code modules
to utilize the new `REDIS_URL` format.
### Environment Variable Updates:
*
[`packages/twenty-docker/.env.example`](diffhunk://#diff-f4b5e7acc0dde630eafb2228390ca56bd56db0d183582be6433a9ee808088a4cL8-R8):
Replaced `REDIS_HOST` and `REDIS_PORT` with `REDIS_URL`.
*
[`packages/twenty-server/.env.example`](diffhunk://#diff-c06e244338b33286ea90221635809785352a971de53f647ea65650124ae74ad2L53-R53):
Replaced `REDIS_HOST`, `REDIS_PORT`, `REDIS_USERNAME`, and
`REDIS_PASSWORD` with `REDIS_URL`.
*
[`packages/twenty-server/.env.test`](diffhunk://#diff-def44a08e699c9deca2f72c9f87951de5d33d9ccf5621eab2f34978df8ad0954L16-R16):
Replaced `REDIS_HOST`, `REDIS_PORT`, `REDIS_USERNAME`, and
`REDIS_PASSWORD` with `REDIS_URL`.
### Docker and Kubernetes Configuration Updates:
*
[`packages/twenty-docker/docker-compose.yml`](diffhunk://#diff-545fb51ad66f93f727bb8f8b375dc6858b33348d91d5e51ad931fb0bbc1affeeL28-R28):
Replaced `REDIS_HOST` and `REDIS_PORT` with `REDIS_URL` in multiple
service definitions.
[[1]](diffhunk://#diff-545fb51ad66f93f727bb8f8b375dc6858b33348d91d5e51ad931fb0bbc1affeeL28-R28)
[[2]](diffhunk://#diff-545fb51ad66f93f727bb8f8b375dc6858b33348d91d5e51ad931fb0bbc1affeeL62-R61)
*
[`packages/twenty-docker/k8s/manifests/deployment-server.yaml`](diffhunk://#diff-91623ed4e8b2088947cfa9a5dad76b6013e8db0c150d84347a215fa9ad78bf04L44-R45):
Replaced `REDIS_HOST` and `REDIS_PORT` with `REDIS_URL`.
*
[`packages/twenty-docker/k8s/manifests/deployment-worker.yaml`](diffhunk://#diff-8532debd131ce168a2527fa6a9be6405792178576ee47e2eef0cd9f3ff4a8f8cL43-R44):
Replaced `REDIS_HOST` and `REDIS_PORT` with `REDIS_URL`.
*
[`packages/twenty-docker/k8s/terraform/deployment-server.tf`](diffhunk://#diff-b4c468660ab00bd03589d0d47502c477ca83f7d876ff196534880b02ba46dce0L64-R65):
Replaced `REDIS_HOST` and `REDIS_PORT` with `REDIS_URL`.
*
[`packages/twenty-docker/k8s/terraform/deployment-worker.tf`](diffhunk://#diff-e5d6a1f68d5391e2120aef6261f22f905aa1ce0a567e31b21a27d44f313eaecaL62-R63):
Replaced `REDIS_HOST` and `REDIS_PORT` with `REDIS_URL`.
### Code Module Updates:
*
[`packages/twenty-server/src/engine/core-modules/cache-storage/cache-storage.module-factory.ts`](diffhunk://#diff-06e787a7c8a48022d5909b5df9b8c6ca192521cf32f51d7f561cee937bed6678L23-R35):
Replaced `REDIS_HOST` and `REDIS_PORT` with `REDIS_URL`.
*
[`packages/twenty-server/src/engine/core-modules/environment/environment-variables.ts`](diffhunk://#diff-26ce615693b053eda02aa48aa2e30400381a2588dcb08d4a9dc3b0bf5bdd6fe7L378-R384):
Added validation for `REDIS_URL`.
*
[`packages/twenty-server/src/engine/core-modules/message-queue/message-queue.module-factory.ts`](diffhunk://#diff-7bd644d28bdd86c159c1d71242753df5d5acd91c73c6e60b2e35caa53ed3836bR6):
Replaced `REDIS_HOST`, `REDIS_PORT`, `REDIS_USERNAME`, and
`REDIS_PASSWORD` with `REDIS_URL`.
[[1]](diffhunk://#diff-7bd644d28bdd86c159c1d71242753df5d5acd91c73c6e60b2e35caa53ed3836bR6)
[[2]](diffhunk://#diff-7bd644d28bdd86c159c1d71242753df5d5acd91c73c6e60b2e35caa53ed3836bL35-R41)
### Documentation Updates:
*
[`packages/twenty-website/src/content/developers/self-hosting/self-hosting-var.mdx`](diffhunk://#diff-c4cc78a3ce18b6edb10f1aee8990271e1d2796a8c06c1c6ae3b68db8d52278a3L37-R37):
Updated documentation to reflect the change to `REDIS_URL`.
*
[`packages/twenty-website/src/content/developers/self-hosting/upgrade-guide.mdx`](diffhunk://#diff-c7d757829f6128e1f47aa1955bde561292dce558280511fab66281afa99042a5R102-R112):
Added upgrade instructions for the new `REDIS_URL` variable.
---------
Co-authored-by: Weiko <corentin@twenty.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
2024-10-16 18:17:44 +03:00
|
|
|
REDIS_URL: ${REDIS_URL:-redis://localhost:6379}
|
2024-03-22 11:16:39 +03:00
|
|
|
|
2024-03-29 17:25:41 +03:00
|
|
|
ENABLE_DB_MIGRATIONS: "true"
|
2024-03-22 11:16:39 +03:00
|
|
|
|
|
|
|
SIGN_IN_PREFILLED: ${SIGN_IN_PREFILLED}
|
2024-03-27 23:28:03 +03:00
|
|
|
STORAGE_TYPE: ${STORAGE_TYPE}
|
|
|
|
STORAGE_S3_REGION: ${STORAGE_S3_REGION}
|
|
|
|
STORAGE_S3_NAME: ${STORAGE_S3_NAME}
|
|
|
|
STORAGE_S3_ENDPOINT: ${STORAGE_S3_ENDPOINT}
|
2024-09-27 20:10:26 +03:00
|
|
|
|
2024-10-30 14:07:11 +03:00
|
|
|
APP_SECRET: ${APP_SECRET}
|
2024-03-22 11:16:39 +03:00
|
|
|
depends_on:
|
2024-06-12 22:17:31 +03:00
|
|
|
change-vol-ownership:
|
|
|
|
condition: service_completed_successfully
|
2024-03-22 11:16:39 +03:00
|
|
|
db:
|
|
|
|
condition: service_healthy
|
|
|
|
healthcheck:
|
2024-03-27 23:28:03 +03:00
|
|
|
test: curl --fail http://localhost:3000/healthz
|
2024-03-22 11:16:39 +03:00
|
|
|
interval: 5s
|
|
|
|
timeout: 5s
|
|
|
|
retries: 10
|
|
|
|
restart: always
|
|
|
|
|
2024-05-31 14:29:58 +03:00
|
|
|
worker:
|
|
|
|
image: twentycrm/twenty:${TAG}
|
|
|
|
command: ["yarn", "worker:prod"]
|
|
|
|
environment:
|
|
|
|
PG_DATABASE_URL: postgres://twenty:twenty@${PG_DATABASE_HOST}/default
|
|
|
|
SERVER_URL: ${SERVER_URL}
|
|
|
|
FRONT_BASE_URL: ${FRONT_BASE_URL:-$SERVER_URL}
|
Refactor Redis connections to use Redis URL - closes #7421 (#7736)
Closes #7421
This pull request consolidates Redis connection parameters into a single
`REDIS_URL` environment variable across various configuration files and
code modules. The most important changes include updates to environment
variable files, Docker and Kubernetes configurations, and code modules
to utilize the new `REDIS_URL` format.
### Environment Variable Updates:
*
[`packages/twenty-docker/.env.example`](diffhunk://#diff-f4b5e7acc0dde630eafb2228390ca56bd56db0d183582be6433a9ee808088a4cL8-R8):
Replaced `REDIS_HOST` and `REDIS_PORT` with `REDIS_URL`.
*
[`packages/twenty-server/.env.example`](diffhunk://#diff-c06e244338b33286ea90221635809785352a971de53f647ea65650124ae74ad2L53-R53):
Replaced `REDIS_HOST`, `REDIS_PORT`, `REDIS_USERNAME`, and
`REDIS_PASSWORD` with `REDIS_URL`.
*
[`packages/twenty-server/.env.test`](diffhunk://#diff-def44a08e699c9deca2f72c9f87951de5d33d9ccf5621eab2f34978df8ad0954L16-R16):
Replaced `REDIS_HOST`, `REDIS_PORT`, `REDIS_USERNAME`, and
`REDIS_PASSWORD` with `REDIS_URL`.
### Docker and Kubernetes Configuration Updates:
*
[`packages/twenty-docker/docker-compose.yml`](diffhunk://#diff-545fb51ad66f93f727bb8f8b375dc6858b33348d91d5e51ad931fb0bbc1affeeL28-R28):
Replaced `REDIS_HOST` and `REDIS_PORT` with `REDIS_URL` in multiple
service definitions.
[[1]](diffhunk://#diff-545fb51ad66f93f727bb8f8b375dc6858b33348d91d5e51ad931fb0bbc1affeeL28-R28)
[[2]](diffhunk://#diff-545fb51ad66f93f727bb8f8b375dc6858b33348d91d5e51ad931fb0bbc1affeeL62-R61)
*
[`packages/twenty-docker/k8s/manifests/deployment-server.yaml`](diffhunk://#diff-91623ed4e8b2088947cfa9a5dad76b6013e8db0c150d84347a215fa9ad78bf04L44-R45):
Replaced `REDIS_HOST` and `REDIS_PORT` with `REDIS_URL`.
*
[`packages/twenty-docker/k8s/manifests/deployment-worker.yaml`](diffhunk://#diff-8532debd131ce168a2527fa6a9be6405792178576ee47e2eef0cd9f3ff4a8f8cL43-R44):
Replaced `REDIS_HOST` and `REDIS_PORT` with `REDIS_URL`.
*
[`packages/twenty-docker/k8s/terraform/deployment-server.tf`](diffhunk://#diff-b4c468660ab00bd03589d0d47502c477ca83f7d876ff196534880b02ba46dce0L64-R65):
Replaced `REDIS_HOST` and `REDIS_PORT` with `REDIS_URL`.
*
[`packages/twenty-docker/k8s/terraform/deployment-worker.tf`](diffhunk://#diff-e5d6a1f68d5391e2120aef6261f22f905aa1ce0a567e31b21a27d44f313eaecaL62-R63):
Replaced `REDIS_HOST` and `REDIS_PORT` with `REDIS_URL`.
### Code Module Updates:
*
[`packages/twenty-server/src/engine/core-modules/cache-storage/cache-storage.module-factory.ts`](diffhunk://#diff-06e787a7c8a48022d5909b5df9b8c6ca192521cf32f51d7f561cee937bed6678L23-R35):
Replaced `REDIS_HOST` and `REDIS_PORT` with `REDIS_URL`.
*
[`packages/twenty-server/src/engine/core-modules/environment/environment-variables.ts`](diffhunk://#diff-26ce615693b053eda02aa48aa2e30400381a2588dcb08d4a9dc3b0bf5bdd6fe7L378-R384):
Added validation for `REDIS_URL`.
*
[`packages/twenty-server/src/engine/core-modules/message-queue/message-queue.module-factory.ts`](diffhunk://#diff-7bd644d28bdd86c159c1d71242753df5d5acd91c73c6e60b2e35caa53ed3836bR6):
Replaced `REDIS_HOST`, `REDIS_PORT`, `REDIS_USERNAME`, and
`REDIS_PASSWORD` with `REDIS_URL`.
[[1]](diffhunk://#diff-7bd644d28bdd86c159c1d71242753df5d5acd91c73c6e60b2e35caa53ed3836bR6)
[[2]](diffhunk://#diff-7bd644d28bdd86c159c1d71242753df5d5acd91c73c6e60b2e35caa53ed3836bL35-R41)
### Documentation Updates:
*
[`packages/twenty-website/src/content/developers/self-hosting/self-hosting-var.mdx`](diffhunk://#diff-c4cc78a3ce18b6edb10f1aee8990271e1d2796a8c06c1c6ae3b68db8d52278a3L37-R37):
Updated documentation to reflect the change to `REDIS_URL`.
*
[`packages/twenty-website/src/content/developers/self-hosting/upgrade-guide.mdx`](diffhunk://#diff-c7d757829f6128e1f47aa1955bde561292dce558280511fab66281afa99042a5R102-R112):
Added upgrade instructions for the new `REDIS_URL` variable.
---------
Co-authored-by: Weiko <corentin@twenty.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
2024-10-16 18:17:44 +03:00
|
|
|
REDIS_URL: ${REDIS_URL:-redis://localhost:6379}
|
2024-05-31 14:29:58 +03:00
|
|
|
|
2024-06-12 22:17:31 +03:00
|
|
|
ENABLE_DB_MIGRATIONS: "false" # it already runs on the server
|
2024-05-31 14:29:58 +03:00
|
|
|
|
|
|
|
STORAGE_TYPE: ${STORAGE_TYPE}
|
|
|
|
STORAGE_S3_REGION: ${STORAGE_S3_REGION}
|
|
|
|
STORAGE_S3_NAME: ${STORAGE_S3_NAME}
|
|
|
|
STORAGE_S3_ENDPOINT: ${STORAGE_S3_ENDPOINT}
|
2024-09-27 20:10:26 +03:00
|
|
|
|
2024-10-30 14:07:11 +03:00
|
|
|
APP_SECRET: ${APP_SECRET}
|
2024-05-31 14:29:58 +03:00
|
|
|
depends_on:
|
|
|
|
db:
|
|
|
|
condition: service_healthy
|
2024-06-12 22:17:31 +03:00
|
|
|
server:
|
|
|
|
condition: service_healthy
|
2024-05-31 14:29:58 +03:00
|
|
|
restart: always
|
|
|
|
|
2024-03-22 11:16:39 +03:00
|
|
|
db:
|
|
|
|
image: twentycrm/twenty-postgres:${TAG}
|
|
|
|
volumes:
|
2024-03-27 10:47:58 +03:00
|
|
|
- db-data:/bitnami/postgresql
|
2024-03-22 11:16:39 +03:00
|
|
|
environment:
|
|
|
|
POSTGRES_PASSWORD: ${POSTGRES_ADMIN_PASSWORD}
|
|
|
|
healthcheck:
|
2024-03-27 23:28:03 +03:00
|
|
|
test: pg_isready -U twenty -d default
|
2024-03-22 11:16:39 +03:00
|
|
|
interval: 5s
|
|
|
|
timeout: 5s
|
|
|
|
retries: 10
|
|
|
|
restart: always
|
|
|
|
|
2024-09-27 20:10:26 +03:00
|
|
|
redis:
|
|
|
|
image: redis
|
|
|
|
ports:
|
|
|
|
- "6379:6379"
|
|
|
|
restart: always
|
|
|
|
|
2024-03-22 11:16:39 +03:00
|
|
|
volumes:
|
2024-06-12 22:17:31 +03:00
|
|
|
docker-data:
|
2024-03-22 11:16:39 +03:00
|
|
|
db-data:
|
|
|
|
server-local-data:
|