Begin moving to postgres spilo + adding pgvector (#8309)

We will remove the `twenty-postgres` image that was used for local
development and only use `twenty-postgres-pilo` (which we use in prod),
bringing the development environment closer to prod and avoiding having
to maintain 2 images.


Instead of provisioning the super user after the db initialization, we
directly rely on the superuser provided by Spilo for simplicity. We also
introduce a change that tries to create the right database (`default` or
`test`) based on the context.
  

How to test:
```
docker build -t twentycrm/twenty-postgres-spilo:latest -f ./packages/twenty-docker/twenty-postgres-spilo/Dockerfile .
docker images --no-trunc | grep twenty-postgres-spilo
postgres-on-docker:
	docker run \
	--name twenty_pg \
	-e PGUSER_SUPERUSER=twenty \
	-e PGPASSWORD_SUPERUSER=twenty \
	-e ALLOW_NOSSL=true \
	-v twenty_db_data:/home/postgres/pgdata \
	-p 5432:5432 \
	REPLACE_WITH_IMAGE_ID
```
This commit is contained in:
Félix Malfait
2024-11-15 09:38:30 +01:00
committed by GitHub
parent cfe3515aa6
commit 736635a94b
29 changed files with 149 additions and 130 deletions

View File

@ -392,7 +392,7 @@ resource "azurerm_container_app" "twenty_db" {
max_replicas = 1
container {
name = local.db_app_name
image = "docker.io/twentycrm/twenty-postgres:${local.db_tag}"
image = "docker.io/twentycrm/twenty-postgres-spilo:${local.db_tag}"
cpu = local.cpu
memory = local.memory
@ -402,16 +402,12 @@ resource "azurerm_container_app" "twenty_db" {
}
env {
name = "POSTGRES_USER"
name = "PGUSER_SUPERUSER"
value = "postgres"
}
env {
name = "POSTGRES_PASSWORD"
value = "postgres"
}
env {
name = "POSTGRES_DB"
value = "default"
name = "PGPASSWORD_SUPERUSER"
value = "twenty"
}
}

View File

@ -66,10 +66,10 @@ Follow these steps for a manual setup.
4. **Set the Postgres Password**
Update the `POSTGRES_ADMIN_PASSWORD` value in the .env file with a strong password.
Update the `PGPASSWORD_SUPERUSER` value in the .env file with a strong password.
```ini
POSTGRES_ADMIN_PASSWORD=my_strong_password
PGPASSWORD_SUPERUSER=my_strong_password
```
### Step 2: Obtain the Docker Compose File