forked from twentyhq/twenty
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Chore: Deploy to Render updated (twentyhq#2033) (twentyhq#2098)
Deploy to Render updated (twentyhq#2033): * postgres as a pserv (private service) compiled with pg_graphql * default credentials (todo to fix), but postgres in a private network * added FRONT_BASE_URL to server env * added Dockerfile for postgres in infra/prod/postgres * for server added dockerCommand with yarn database:setup
- Loading branch information
Showing
3 changed files
with
90 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
ARG PG_MAIN_VERSION=14 | ||
|
||
FROM postgres:${PG_MAIN_VERSION} as postgres | ||
|
||
ARG PG_MAIN_VERSION | ||
ARG PG_GRAPHQL_VERSION=1.3.0 | ||
ARG TARGETARCH | ||
|
||
RUN set -eux; \ | ||
ARCH="$(dpkg --print-architecture)"; \ | ||
case "${ARCH}" in \ | ||
aarch64|arm64) \ | ||
TARGETARCH='arm64'; \ | ||
;; \ | ||
amd64|x86_64) \ | ||
TARGETARCH='amd64'; \ | ||
;; \ | ||
*) \ | ||
echo "Unsupported arch: ${ARCH}"; \ | ||
exit 1; \ | ||
;; \ | ||
esac; | ||
|
||
RUN apt update && apt install -y curl | ||
|
||
# Install precompiled pg_graphql extensions | ||
RUN curl -L "https://github.com/supabase/pg_graphql/releases/download/v${PG_GRAPHQL_VERSION}/pg_graphql-v${PG_GRAPHQL_VERSION}-pg${PG_MAIN_VERSION}-${TARGETARCH}-linux-gnu.deb" -o pg_graphql.deb | ||
RUN dpkg --install pg_graphql.deb | ||
|
||
COPY ./infra/prod/postgres/init.sql /docker-entrypoint-initdb.d/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
SELECT 'CREATE DATABASE "default"' | ||
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'default')\gexec | ||
|
||
SELECT 'CREATE DATABASE "test"' | ||
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'test')\gexec | ||
|
||
SELECT 'CREATE USER twenty PASSWORD ''twenty''' | ||
WHERE NOT EXISTS (SELECT FROM pg_user WHERE usename = 'twenty')\gexec | ||
|
||
SELECT 'ALTER ROLE twenty superuser'\gexec |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,43 +1,64 @@ | ||
services: | ||
- type: web | ||
name: front | ||
env: docker | ||
dockerfilePath: ./infra/prod/front/Dockerfile | ||
autoDeploy: false | ||
envVars: | ||
- key: REACT_APP_SERVER_BASE_URL | ||
fromService: | ||
name: server | ||
type: web | ||
envVarKey: RENDER_EXTERNAL_URL | ||
- type: web | ||
name: server | ||
env: docker | ||
dockerfilePath: ./infra/prod/server/Dockerfile | ||
dockerCommand: "sh -c yarn prisma:migrate && node dist/src/main" | ||
dockerCommand: "sh -c yarn prisma:migrate && yarn database:setup && node dist/src/main" | ||
autoDeploy: false | ||
envVars: | ||
- key: ACCESS_TOKEN_SECRET | ||
generateValue: true | ||
- key: LOGIN_TOKEN_SECRET | ||
generateValue: true | ||
- key: API_TOKEN_SECRET | ||
generateValue: true | ||
- key: REFRESH_TOKEN_SECRET | ||
generateValue: true | ||
- key: PG_DATABASE_URL | ||
fromDatabase: | ||
name: twenty-db | ||
property: connectionString | ||
- key: FRONT_BASE_URL | ||
fromService: | ||
name: front | ||
type: web | ||
envVarKey: RENDER_EXTERNAL_URL | ||
- key: FRONT_BASE_URL | ||
fromService: | ||
name: front | ||
type: web | ||
envVarKey: RENDER_EXTERNAL_URL | ||
- key: ACCESS_TOKEN_SECRET | ||
generateValue: true | ||
- key: LOGIN_TOKEN_SECRET | ||
generateValue: true | ||
- key: API_TOKEN_SECRET | ||
generateValue: true | ||
- key: REFRESH_TOKEN_SECRET | ||
generateValue: true | ||
- key: PG_DATABASE_HOST | ||
fromService: | ||
name: twenty_postgres | ||
type: pserv | ||
property: host | ||
- key: PG_DATABASE_PORT | ||
fromService: | ||
name: twenty_postgres | ||
type: pserv | ||
property: port | ||
- key: PG_DATABASE_URL | ||
value: postgres://twenty:twenty@twenty-postgres:5432/default?connection_limit=1 | ||
disk: | ||
name: twenty-disk | ||
mountPath: /.local-storage | ||
sizeGB: 5 | ||
- type: web | ||
name: front | ||
- type: pserv | ||
name: twenty_postgres | ||
env: docker | ||
dockerfilePath: ./infra/prod/front/Dockerfile | ||
dockerfilePath: ./infra/prod/postgres/Dockerfile | ||
autoDeploy: false | ||
disk: | ||
name: data | ||
mountPath: /var/lib/postgresql/data | ||
sizeGB: 10 | ||
envVars: | ||
- key: REACT_APP_SERVER_BASE_URL | ||
fromService: | ||
name: server | ||
type: web | ||
envVarKey: RENDER_EXTERNAL_URL | ||
databases: | ||
- name: twenty-db | ||
plan: starter | ||
- key: POSTGRES_USER | ||
value: twenty | ||
- key: POSTGRES_PASSWORD | ||
value: twenty | ||
- key: POSTGRES_DB | ||
value: default |