From ba46493fe88b9e770eb593cd786d007bc0329555 Mon Sep 17 00:00:00 2001 From: Titouan V Date: Wed, 18 Jun 2025 20:03:37 +0200 Subject: [PATCH 01/14] cap.so deployment template first base --- public/svgs/cap.svg | 28 ++++++++++++++++ templates/compose/cap.yaml | 67 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 public/svgs/cap.svg create mode 100644 templates/compose/cap.yaml diff --git a/public/svgs/cap.svg b/public/svgs/cap.svg new file mode 100644 index 000000000..83d26e15d --- /dev/null +++ b/public/svgs/cap.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/compose/cap.yaml b/templates/compose/cap.yaml new file mode 100644 index 000000000..5d6aa1a9f --- /dev/null +++ b/templates/compose/cap.yaml @@ -0,0 +1,67 @@ +# documentation: https://cap.so +# slogan: Cap is the open source alternative to Loom. Lightweight, powerful, and cross-platform. Record and share in seconds. +# tags: cap,loom,open,source,low,code +# logo: svgs/cap.svg +# port: 5679 + + +services: + cap-web: + container_name: cap-web + image: ghcr.io/capsoftware/cap-web:latest + platform: linux/amd64 # <--- since the image is not available for arm64 + restart: unless-stopped + environment: + - SERVICE_FQDN_CAPWEB_5679 + - DATABASE_URL=mysql://root:${SERVICE_PASSWORD_MYSQL}@ps-mysql:3306/planetscale?ssl={"rejectUnauthorized":false} + - WEB_URL=$SERVICE_URL_CAPWEB + - NEXTAUTH_URL=$SERVICE_URL_CAPWEB + - DATABASE_ENCRYPTION_KEY=${SERVICE_BASE64_DATABASEENCRYPTIONKEY} + - NEXTAUTH_SECRET=${SERVICE_BASE64_NEXTAUTHSECRET} + - CAP_AWS_ACCESS_KEY=${SERVICE_USER_MINIO} + - CAP_AWS_SECRET_KEY=${SERVICE_PASSWORD_MINIO} + - CAP_AWS_BUCKET=capso + - CAP_AWS_REGION=us-east-1 + - CAP_AWS_ENDPOINT=http://minio:3902 + ports: + - "5679:3000" # inside the container, the port is 3000, but we want to expose it to the host on port 5679 + + ps-mysql: + container_name: cap-primary-db + image: mysql:8.0 + restart: unless-stopped + environment: + - MYSQL_DATABASE=planetscale + - MYSQL_ROOT_HOST=% + - MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_MYSQL} + command: + [ + "--max_connections=1000", + "--default-authentication-plugin=mysql_native_password", + ] + ports: + - "3306:3306" + volumes: + - ps-mysql:/var/lib/mysql + + # Local S3 Strorage + minio: + container_name: cap-minio-storage + image: "bitnami/minio:latest" + restart: unless-stopped + ports: + - "3902:3902" + - "3903:3903" + environment: + - MINIO_API_PORT_NUMBER=3902 + - MINIO_CONSOLE_PORT_NUMBER=3903 + - MINIO_ROOT_USER=${SERVICE_USER_MINIO} + - MINIO_ROOT_PASSWORD=${SERVICE_PASSWORD_MINIO} + volumes: + - minio-data:/bitnami/minio/data + - minio-certs:/certs +volumes: + ps-mysql: + # REMOVE THESE IF YOU ARE NOT USING MINIO VIA THIS DOCKER COMPOSE FILE + minio-data: + minio-certs: \ No newline at end of file From 8e093772dcc8fd26827bb23d917ff86c1d28be08 Mon Sep 17 00:00:00 2001 From: Titouan V Date: Tue, 24 Jun 2025 01:43:03 +0200 Subject: [PATCH 02/14] upgrade from comment --- templates/compose/cap.yaml | 100 ++++++++++++++++++++----------------- 1 file changed, 54 insertions(+), 46 deletions(-) diff --git a/templates/compose/cap.yaml b/templates/compose/cap.yaml index 5d6aa1a9f..1b4f6e28a 100644 --- a/templates/compose/cap.yaml +++ b/templates/compose/cap.yaml @@ -8,60 +8,68 @@ services: cap-web: container_name: cap-web - image: ghcr.io/capsoftware/cap-web:latest - platform: linux/amd64 # <--- since the image is not available for arm64 + image: 'ghcr.io/capsoftware/cap-web:latest' restart: unless-stopped environment: - - SERVICE_FQDN_CAPWEB_5679 - - DATABASE_URL=mysql://root:${SERVICE_PASSWORD_MYSQL}@ps-mysql:3306/planetscale?ssl={"rejectUnauthorized":false} - - WEB_URL=$SERVICE_URL_CAPWEB - - NEXTAUTH_URL=$SERVICE_URL_CAPWEB - - DATABASE_ENCRYPTION_KEY=${SERVICE_BASE64_DATABASEENCRYPTIONKEY} - - NEXTAUTH_SECRET=${SERVICE_BASE64_NEXTAUTHSECRET} - - CAP_AWS_ACCESS_KEY=${SERVICE_USER_MINIO} - - CAP_AWS_SECRET_KEY=${SERVICE_PASSWORD_MINIO} - - CAP_AWS_BUCKET=capso - - CAP_AWS_REGION=us-east-1 - - CAP_AWS_ENDPOINT=http://minio:3902 - ports: - - "5679:3000" # inside the container, the port is 3000, but we want to expose it to the host on port 5679 - - ps-mysql: - container_name: cap-primary-db - image: mysql:8.0 + - SERVICE_FQDN_CAP_3000 + - 'DATABASE_URL=mysql://$SERVICE_USER_MYSQL:$SERVICE_PASSWORD_MYSQL@cap-db:3306/${MYSQL_DATABASE:-planetscale}' + - 'WEB_URL=${WEB_URL:-http://localhost:3000}' + - 'NEXTAUTH_URL=${WEB_URL:-http://localhost:3000}' + - 'DATABASE_ENCRYPTION_KEY=${SERVICE_PASSWORD_64_DATABASEENCRYPTIONKEY}' + - 'NEXTAUTH_SECRET=${SERVICE_PASSWORD_64_NEXTAUTHSECRET}' + - 'CAP_AWS_ACCESS_KEY=${SERVICE_USER_MINIO}' + - 'CAP_AWS_SECRET_KEY=${SERVICE_PASSWORD_MINIO}' + - 'CAP_AWS_BUCKET=${CAP_AWS_BUCKET:-capso}' + - 'CAP_AWS_REGION=${CAP_AWS_REGION:-us-east-1}' + - 'CAP_AWS_ENDPOINT=${CAP_AWS_ENDPOINT:-http://minio:3902}' + depends_on: + cap-db: + condition: service_healthy + cap-s3: + condition: service_healthy + + cap-db: + container_name: cap-db + image: 'mysql:8.0' restart: unless-stopped environment: - - MYSQL_DATABASE=planetscale - - MYSQL_ROOT_HOST=% - - MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_MYSQL} + - 'MYSQL_USER=${SERVICE_USER_MYSQL}' + - 'MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL}' + - 'MYSQL_DATABASE=${MYSQL_DATABASE:-planetscale}' + - 'MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_MYSQLROOT}' + - 'MYSQL_ALLOW_EMPTY_PASSWORD=${MYSQL_ALLOW_EMPTY_PASSWORD:-yes}' command: - [ - "--max_connections=1000", - "--default-authentication-plugin=mysql_native_password", - ] - ports: - - "3306:3306" + - '--max_connections=1000' + - '--default-authentication-plugin=mysql_native_password' + healthcheck: + test: + - CMD + - mysqladmin + - ping + - '-h' + - 127.0.0.1 + interval: 10s + timeout: 10s + retries: 5 volumes: - - ps-mysql:/var/lib/mysql - - # Local S3 Strorage - minio: - container_name: cap-minio-storage - image: "bitnami/minio:latest" + - 'cap_db:/var/lib/mysql' + cap-s3: + container_name: cap-s3 + image: 'bitnami/minio:latest' restart: unless-stopped - ports: - - "3902:3902" - - "3903:3903" environment: - MINIO_API_PORT_NUMBER=3902 - MINIO_CONSOLE_PORT_NUMBER=3903 - - MINIO_ROOT_USER=${SERVICE_USER_MINIO} - - MINIO_ROOT_PASSWORD=${SERVICE_PASSWORD_MINIO} + - MINIO_ROOT_USER=$SERVICE_USER_MINIO + - MINIO_ROOT_PASSWORD=$SERVICE_PASSWORD_MINIO + healthcheck: + test: + - CMD + - curl + - '-f' + - 'http://localhost:3902/minio/health/live' + interval: 10s + timeout: 10s + retries: 5 volumes: - - minio-data:/bitnami/minio/data - - minio-certs:/certs -volumes: - ps-mysql: - # REMOVE THESE IF YOU ARE NOT USING MINIO VIA THIS DOCKER COMPOSE FILE - minio-data: - minio-certs: \ No newline at end of file + - 'cap_s3:/bitnami/minio/data' \ No newline at end of file From 5887e382c7f5d17874d9100eb757650b36b37057 Mon Sep 17 00:00:00 2001 From: Titouan V Date: Tue, 12 Aug 2025 22:05:26 +0200 Subject: [PATCH 03/14] updates with modification from cap docker-compose.yml example --- templates/compose/cap.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/templates/compose/cap.yaml b/templates/compose/cap.yaml index 1b4f6e28a..04ce4c468 100644 --- a/templates/compose/cap.yaml +++ b/templates/compose/cap.yaml @@ -13,15 +13,16 @@ services: environment: - SERVICE_FQDN_CAP_3000 - 'DATABASE_URL=mysql://$SERVICE_USER_MYSQL:$SERVICE_PASSWORD_MYSQL@cap-db:3306/${MYSQL_DATABASE:-planetscale}' - - 'WEB_URL=${WEB_URL:-http://localhost:3000}' - - 'NEXTAUTH_URL=${WEB_URL:-http://localhost:3000}' + - 'WEB_URL=${SERVICE_FQDN_CAP_3000}' + - 'NEXTAUTH_URL=${SERVICE_FQDN_CAP_3000}' - 'DATABASE_ENCRYPTION_KEY=${SERVICE_PASSWORD_64_DATABASEENCRYPTIONKEY}' - 'NEXTAUTH_SECRET=${SERVICE_PASSWORD_64_NEXTAUTHSECRET}' - 'CAP_AWS_ACCESS_KEY=${SERVICE_USER_MINIO}' - 'CAP_AWS_SECRET_KEY=${SERVICE_PASSWORD_MINIO}' - 'CAP_AWS_BUCKET=${CAP_AWS_BUCKET:-capso}' - 'CAP_AWS_REGION=${CAP_AWS_REGION:-us-east-1}' - - 'CAP_AWS_ENDPOINT=${CAP_AWS_ENDPOINT:-http://minio:3902}' + - 'S3_PUBLIC_ENDPOINT=${SERVICE_FQDN_CAPS3_3902}' + - 'S3_INTERNAL_ENDPOINT=${S3_INTERNAL_ENDPOINT:-http://minio:3902}' depends_on: cap-db: condition: service_healthy @@ -58,6 +59,7 @@ services: image: 'bitnami/minio:latest' restart: unless-stopped environment: + - SERVICE_FQDN_CAPS3_3902 - MINIO_API_PORT_NUMBER=3902 - MINIO_CONSOLE_PORT_NUMBER=3903 - MINIO_ROOT_USER=$SERVICE_USER_MINIO From bc73ee5a4fa01f9fbd9c6e40480975dc6039b9bf Mon Sep 17 00:00:00 2001 From: Titouan V Date: Tue, 12 Aug 2025 23:15:18 +0200 Subject: [PATCH 04/14] fixes for automatic bucket creation --- templates/compose/cap.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/templates/compose/cap.yaml b/templates/compose/cap.yaml index 04ce4c468..982eca4f5 100644 --- a/templates/compose/cap.yaml +++ b/templates/compose/cap.yaml @@ -22,7 +22,10 @@ services: - 'CAP_AWS_BUCKET=${CAP_AWS_BUCKET:-capso}' - 'CAP_AWS_REGION=${CAP_AWS_REGION:-us-east-1}' - 'S3_PUBLIC_ENDPOINT=${SERVICE_FQDN_CAPS3_3902}' - - 'S3_INTERNAL_ENDPOINT=${S3_INTERNAL_ENDPOINT:-http://minio:3902}' + - 'S3_INTERNAL_ENDPOINT=${SERVICE_FQDN_CAPS3_3902}' + - 'NEXT_RUNTIME=nodejs' + - 'S3_PATH_STYLE=true' + - 'CAP_AWS_ENDPOINT=${SERVICE_FQDN_CAPS3_3902}' depends_on: cap-db: condition: service_healthy From 8ae2e2ef716209e72503dd43ea2bd41b5ee9e67c Mon Sep 17 00:00:00 2001 From: Titouan V Date: Wed, 13 Aug 2025 22:12:59 +0200 Subject: [PATCH 05/14] add explanation for storage s3 local/remote storage option --- templates/compose/cap.yaml | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/templates/compose/cap.yaml b/templates/compose/cap.yaml index 982eca4f5..49e478ee2 100644 --- a/templates/compose/cap.yaml +++ b/templates/compose/cap.yaml @@ -5,6 +5,15 @@ # port: 5679 +# Storage options: +# - Default: local MinIO (`cap-s3`) with endpoints injected by Coolify. +# - Remote S3-compatible (AWS S3, Cloudflare R2, etc.): override the below via env vars: +# - CAP_AWS_ACCESS_KEY, CAP_AWS_SECRET_KEY, CAP_AWS_BUCKET, CAP_AWS_REGION +# - CAP_AWS_ENDPOINT, S3_PUBLIC_ENDPOINT, S3_INTERNAL_ENDPOINT +# - S3_PATH_STYLE=true (R2/most S3-compatible) or false (AWS S3 virtual-hosted style) +# If using a remote bucket exclusively, you can remove/disable the `cap-s3` service and its dependency. + + services: cap-web: container_name: cap-web @@ -17,15 +26,15 @@ services: - 'NEXTAUTH_URL=${SERVICE_FQDN_CAP_3000}' - 'DATABASE_ENCRYPTION_KEY=${SERVICE_PASSWORD_64_DATABASEENCRYPTIONKEY}' - 'NEXTAUTH_SECRET=${SERVICE_PASSWORD_64_NEXTAUTHSECRET}' - - 'CAP_AWS_ACCESS_KEY=${SERVICE_USER_MINIO}' - - 'CAP_AWS_SECRET_KEY=${SERVICE_PASSWORD_MINIO}' + - 'CAP_AWS_ACCESS_KEY=${CAP_AWS_ACCESS_KEY:-$SERVICE_USER_MINIO}' + - 'CAP_AWS_SECRET_KEY=${CAP_AWS_SECRET_KEY:-$SERVICE_PASSWORD_MINIO}' - 'CAP_AWS_BUCKET=${CAP_AWS_BUCKET:-capso}' - 'CAP_AWS_REGION=${CAP_AWS_REGION:-us-east-1}' - - 'S3_PUBLIC_ENDPOINT=${SERVICE_FQDN_CAPS3_3902}' - - 'S3_INTERNAL_ENDPOINT=${SERVICE_FQDN_CAPS3_3902}' + - 'S3_PUBLIC_ENDPOINT=${S3_PUBLIC_ENDPOINT:-$SERVICE_FQDN_CAPS3_3902}' + - 'S3_INTERNAL_ENDPOINT=${S3_INTERNAL_ENDPOINT:-$SERVICE_FQDN_CAPS3_3902}' - 'NEXT_RUNTIME=nodejs' - - 'S3_PATH_STYLE=true' - - 'CAP_AWS_ENDPOINT=${SERVICE_FQDN_CAPS3_3902}' + - 'S3_PATH_STYLE=${S3_PATH_STYLE:-true}' + - 'CAP_AWS_ENDPOINT=${CAP_AWS_ENDPOINT:-$SERVICE_FQDN_CAPS3_3902}' depends_on: cap-db: condition: service_healthy From 3a81331abe34be22c713b3b8d24fb44c615c7704 Mon Sep 17 00:00:00 2001 From: Titouan V Date: Mon, 18 Aug 2025 22:42:27 +0200 Subject: [PATCH 06/14] remove minio, put instructions to use env in comments --- templates/compose/cap.yaml | 70 ++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 40 deletions(-) diff --git a/templates/compose/cap.yaml b/templates/compose/cap.yaml index 49e478ee2..6842a18c4 100644 --- a/templates/compose/cap.yaml +++ b/templates/compose/cap.yaml @@ -4,15 +4,28 @@ # logo: svgs/cap.svg # port: 5679 - -# Storage options: -# - Default: local MinIO (`cap-s3`) with endpoints injected by Coolify. -# - Remote S3-compatible (AWS S3, Cloudflare R2, etc.): override the below via env vars: -# - CAP_AWS_ACCESS_KEY, CAP_AWS_SECRET_KEY, CAP_AWS_BUCKET, CAP_AWS_REGION -# - CAP_AWS_ENDPOINT, S3_PUBLIC_ENDPOINT, S3_INTERNAL_ENDPOINT -# - S3_PATH_STYLE=true (R2/most S3-compatible) or false (AWS S3 virtual-hosted style) -# If using a remote bucket exclusively, you can remove/disable the `cap-s3` service and its dependency. - +# Storage Configuration: +# Option 1: Remote S3-compatible storage (AWS S3, Cloudflare R2, etc.) +# Set these environment variables: +# - CAP_AWS_ACCESS_KEY: Your S3/R2 access key +# - CAP_AWS_SECRET_KEY: Your S3/R2 secret key +# - CAP_AWS_BUCKET: Your S3/R2 bucket name +# - CAP_AWS_REGION: Your S3/R2 region (e.g., us-east-1, auto for R2) +# - CAP_AWS_ENDPOINT: Your S3/R2 endpoint URL +# - S3_PUBLIC_ENDPOINT: Public endpoint for your bucket (same as CAP_AWS_ENDPOINT for most cases) +# - S3_INTERNAL_ENDPOINT: Internal endpoint (same as CAP_AWS_ENDPOINT for most cases) +# - S3_PATH_STYLE: true for R2/most S3-compatible, false for AWS S3 virtual-hosted style +# +# Option 2: Local MinIO storage +# Deploy MinIO as a separate service in the same network and set: +# - CAP_AWS_ACCESS_KEY: MinIO root user +# - CAP_AWS_SECRET_KEY: MinIO root password +# - CAP_AWS_BUCKET: Your bucket name (e.g., capso) +# - CAP_AWS_REGION: us-east-1 (or any region) +# - CAP_AWS_ENDPOINT: http://minio:9000 (internal MinIO endpoint) +# - S3_PUBLIC_ENDPOINT: http://your-minio-domain:9000 (public MinIO endpoint) +# - S3_INTERNAL_ENDPOINT: http://minio:9000 (internal MinIO endpoint) +# - S3_PATH_STYLE: true services: cap-web: @@ -26,20 +39,18 @@ services: - 'NEXTAUTH_URL=${SERVICE_FQDN_CAP_3000}' - 'DATABASE_ENCRYPTION_KEY=${SERVICE_PASSWORD_64_DATABASEENCRYPTIONKEY}' - 'NEXTAUTH_SECRET=${SERVICE_PASSWORD_64_NEXTAUTHSECRET}' - - 'CAP_AWS_ACCESS_KEY=${CAP_AWS_ACCESS_KEY:-$SERVICE_USER_MINIO}' - - 'CAP_AWS_SECRET_KEY=${CAP_AWS_SECRET_KEY:-$SERVICE_PASSWORD_MINIO}' - - 'CAP_AWS_BUCKET=${CAP_AWS_BUCKET:-capso}' - - 'CAP_AWS_REGION=${CAP_AWS_REGION:-us-east-1}' - - 'S3_PUBLIC_ENDPOINT=${S3_PUBLIC_ENDPOINT:-$SERVICE_FQDN_CAPS3_3902}' - - 'S3_INTERNAL_ENDPOINT=${S3_INTERNAL_ENDPOINT:-$SERVICE_FQDN_CAPS3_3902}' + - 'CAP_AWS_ACCESS_KEY=${CAP_AWS_ACCESS_KEY}' + - 'CAP_AWS_SECRET_KEY=${CAP_AWS_SECRET_KEY}' + - 'CAP_AWS_BUCKET=${CAP_AWS_BUCKET}' + - 'CAP_AWS_REGION=${CAP_AWS_REGION}' + - 'S3_PUBLIC_ENDPOINT=${S3_PUBLIC_ENDPOINT}' + - 'S3_INTERNAL_ENDPOINT=${S3_INTERNAL_ENDPOINT}' - 'NEXT_RUNTIME=nodejs' - 'S3_PATH_STYLE=${S3_PATH_STYLE:-true}' - - 'CAP_AWS_ENDPOINT=${CAP_AWS_ENDPOINT:-$SERVICE_FQDN_CAPS3_3902}' + - 'CAP_AWS_ENDPOINT=${CAP_AWS_ENDPOINT}' depends_on: cap-db: condition: service_healthy - cap-s3: - condition: service_healthy cap-db: container_name: cap-db @@ -65,25 +76,4 @@ services: timeout: 10s retries: 5 volumes: - - 'cap_db:/var/lib/mysql' - cap-s3: - container_name: cap-s3 - image: 'bitnami/minio:latest' - restart: unless-stopped - environment: - - SERVICE_FQDN_CAPS3_3902 - - MINIO_API_PORT_NUMBER=3902 - - MINIO_CONSOLE_PORT_NUMBER=3903 - - MINIO_ROOT_USER=$SERVICE_USER_MINIO - - MINIO_ROOT_PASSWORD=$SERVICE_PASSWORD_MINIO - healthcheck: - test: - - CMD - - curl - - '-f' - - 'http://localhost:3902/minio/health/live' - interval: 10s - timeout: 10s - retries: 5 - volumes: - - 'cap_s3:/bitnami/minio/data' \ No newline at end of file + - 'cap_db:/var/lib/mysql' \ No newline at end of file From 9cdf08a840ecbaf74318b99326f547f3d2672b1f Mon Sep 17 00:00:00 2001 From: Titouan V <39600279+titouv@users.noreply.github.com> Date: Mon, 1 Sep 2025 13:02:07 +0200 Subject: [PATCH 07/14] SERVICE_FQDN to SERVICE_URL from @Cinzya Co-authored-by: Cynthia Ebert <54354036+Cinzya@users.noreply.github.com> --- templates/compose/cap.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/compose/cap.yaml b/templates/compose/cap.yaml index 6842a18c4..5ba5356e2 100644 --- a/templates/compose/cap.yaml +++ b/templates/compose/cap.yaml @@ -33,7 +33,7 @@ services: image: 'ghcr.io/capsoftware/cap-web:latest' restart: unless-stopped environment: - - SERVICE_FQDN_CAP_3000 + - SERVICE_URL_CAP_3000 - 'DATABASE_URL=mysql://$SERVICE_USER_MYSQL:$SERVICE_PASSWORD_MYSQL@cap-db:3306/${MYSQL_DATABASE:-planetscale}' - 'WEB_URL=${SERVICE_FQDN_CAP_3000}' - 'NEXTAUTH_URL=${SERVICE_FQDN_CAP_3000}' From 396dbe3bd236c0df317c1ce8a1288d1ecae6265e Mon Sep 17 00:00:00 2001 From: Titouan V <39600279+titouv@users.noreply.github.com> Date: Mon, 1 Sep 2025 13:02:13 +0200 Subject: [PATCH 08/14] SERVICE_FQDN to SERVICE_URL from @Cinzya Co-authored-by: Cynthia Ebert <54354036+Cinzya@users.noreply.github.com> --- templates/compose/cap.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/compose/cap.yaml b/templates/compose/cap.yaml index 5ba5356e2..8e2f97b49 100644 --- a/templates/compose/cap.yaml +++ b/templates/compose/cap.yaml @@ -35,8 +35,8 @@ services: environment: - SERVICE_URL_CAP_3000 - 'DATABASE_URL=mysql://$SERVICE_USER_MYSQL:$SERVICE_PASSWORD_MYSQL@cap-db:3306/${MYSQL_DATABASE:-planetscale}' - - 'WEB_URL=${SERVICE_FQDN_CAP_3000}' - - 'NEXTAUTH_URL=${SERVICE_FQDN_CAP_3000}' + - 'WEB_URL=${SERVICE_URL_CAP_3000}' + - 'NEXTAUTH_URL=${SERVICE_URL_CAP_3000}' - 'DATABASE_ENCRYPTION_KEY=${SERVICE_PASSWORD_64_DATABASEENCRYPTIONKEY}' - 'NEXTAUTH_SECRET=${SERVICE_PASSWORD_64_NEXTAUTHSECRET}' - 'CAP_AWS_ACCESS_KEY=${CAP_AWS_ACCESS_KEY}' From b86b7d58084576caddd7ca42af2a8ebcf32fa6c8 Mon Sep 17 00:00:00 2001 From: Titouan V Date: Mon, 1 Sep 2025 13:16:10 +0200 Subject: [PATCH 09/14] mandatory fields for s3 storage --- templates/compose/cap.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/templates/compose/cap.yaml b/templates/compose/cap.yaml index 8e2f97b49..a7dd45249 100644 --- a/templates/compose/cap.yaml +++ b/templates/compose/cap.yaml @@ -39,15 +39,15 @@ services: - 'NEXTAUTH_URL=${SERVICE_URL_CAP_3000}' - 'DATABASE_ENCRYPTION_KEY=${SERVICE_PASSWORD_64_DATABASEENCRYPTIONKEY}' - 'NEXTAUTH_SECRET=${SERVICE_PASSWORD_64_NEXTAUTHSECRET}' - - 'CAP_AWS_ACCESS_KEY=${CAP_AWS_ACCESS_KEY}' - - 'CAP_AWS_SECRET_KEY=${CAP_AWS_SECRET_KEY}' - - 'CAP_AWS_BUCKET=${CAP_AWS_BUCKET}' - - 'CAP_AWS_REGION=${CAP_AWS_REGION}' - - 'S3_PUBLIC_ENDPOINT=${S3_PUBLIC_ENDPOINT}' - - 'S3_INTERNAL_ENDPOINT=${S3_INTERNAL_ENDPOINT}' + - 'CAP_AWS_ACCESS_KEY=${CAP_AWS_ACCESS_KEY:?}' + - 'CAP_AWS_SECRET_KEY=${CAP_AWS_SECRET_KEY:?}' + - 'CAP_AWS_BUCKET=${CAP_AWS_BUCKET:?}' + - 'CAP_AWS_REGION=${CAP_AWS_REGION:?}' + - 'S3_PUBLIC_ENDPOINT=${S3_PUBLIC_ENDPOINT:?}' + - 'S3_INTERNAL_ENDPOINT=${S3_INTERNAL_ENDPOINT:?}' - 'NEXT_RUNTIME=nodejs' - 'S3_PATH_STYLE=${S3_PATH_STYLE:-true}' - - 'CAP_AWS_ENDPOINT=${CAP_AWS_ENDPOINT}' + - 'CAP_AWS_ENDPOINT=${CAP_AWS_ENDPOINT:?}' depends_on: cap-db: condition: service_healthy From 9e778e86692599f824d0b218ea1128600090c697 Mon Sep 17 00:00:00 2001 From: Titouan V <39600279+titouv@users.noreply.github.com> Date: Tue, 14 Oct 2025 23:42:03 +0200 Subject: [PATCH 10/14] Update templates/compose/cap.yaml Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/cap.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/templates/compose/cap.yaml b/templates/compose/cap.yaml index a7dd45249..1795436e6 100644 --- a/templates/compose/cap.yaml +++ b/templates/compose/cap.yaml @@ -31,7 +31,6 @@ services: cap-web: container_name: cap-web image: 'ghcr.io/capsoftware/cap-web:latest' - restart: unless-stopped environment: - SERVICE_URL_CAP_3000 - 'DATABASE_URL=mysql://$SERVICE_USER_MYSQL:$SERVICE_PASSWORD_MYSQL@cap-db:3306/${MYSQL_DATABASE:-planetscale}' From a0dbdab949c98bdb1629036b902e77e552f98c30 Mon Sep 17 00:00:00 2001 From: Titouan V <39600279+titouv@users.noreply.github.com> Date: Tue, 14 Oct 2025 23:42:12 +0200 Subject: [PATCH 11/14] Update templates/compose/cap.yaml Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/cap.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/templates/compose/cap.yaml b/templates/compose/cap.yaml index 1795436e6..43b52c787 100644 --- a/templates/compose/cap.yaml +++ b/templates/compose/cap.yaml @@ -29,7 +29,6 @@ services: cap-web: - container_name: cap-web image: 'ghcr.io/capsoftware/cap-web:latest' environment: - SERVICE_URL_CAP_3000 From bb09eb1587550d03886a6aa3b97cfbc63f9a2b0f Mon Sep 17 00:00:00 2001 From: Titouan V <39600279+titouv@users.noreply.github.com> Date: Tue, 14 Oct 2025 23:42:22 +0200 Subject: [PATCH 12/14] Update templates/compose/cap.yaml Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/cap.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/templates/compose/cap.yaml b/templates/compose/cap.yaml index 43b52c787..af85df92c 100644 --- a/templates/compose/cap.yaml +++ b/templates/compose/cap.yaml @@ -53,7 +53,6 @@ services: cap-db: container_name: cap-db image: 'mysql:8.0' - restart: unless-stopped environment: - 'MYSQL_USER=${SERVICE_USER_MYSQL}' - 'MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL}' From f1f7fdb94b4433c07b538fcdca8d82d861cd4d1f Mon Sep 17 00:00:00 2001 From: Titouan V <39600279+titouv@users.noreply.github.com> Date: Tue, 14 Oct 2025 23:42:30 +0200 Subject: [PATCH 13/14] Update templates/compose/cap.yaml Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/cap.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/templates/compose/cap.yaml b/templates/compose/cap.yaml index af85df92c..44c57b583 100644 --- a/templates/compose/cap.yaml +++ b/templates/compose/cap.yaml @@ -51,7 +51,6 @@ services: condition: service_healthy cap-db: - container_name: cap-db image: 'mysql:8.0' environment: - 'MYSQL_USER=${SERVICE_USER_MYSQL}' From 813c0d1e84c9e04630e7bf9d83a49cb44dee5ae0 Mon Sep 17 00:00:00 2001 From: Titouan V <39600279+titouv@users.noreply.github.com> Date: Tue, 14 Oct 2025 23:42:45 +0200 Subject: [PATCH 14/14] Update templates/compose/cap.yaml Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com> --- templates/compose/cap.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/compose/cap.yaml b/templates/compose/cap.yaml index 44c57b583..ab8197c02 100644 --- a/templates/compose/cap.yaml +++ b/templates/compose/cap.yaml @@ -33,8 +33,8 @@ services: environment: - SERVICE_URL_CAP_3000 - 'DATABASE_URL=mysql://$SERVICE_USER_MYSQL:$SERVICE_PASSWORD_MYSQL@cap-db:3306/${MYSQL_DATABASE:-planetscale}' - - 'WEB_URL=${SERVICE_URL_CAP_3000}' - - 'NEXTAUTH_URL=${SERVICE_URL_CAP_3000}' + - 'WEB_URL=${SERVICE_URL_CAP}' + - 'NEXTAUTH_URL=${SERVICE_URL_CAP}' - 'DATABASE_ENCRYPTION_KEY=${SERVICE_PASSWORD_64_DATABASEENCRYPTIONKEY}' - 'NEXTAUTH_SECRET=${SERVICE_PASSWORD_64_NEXTAUTHSECRET}' - 'CAP_AWS_ACCESS_KEY=${CAP_AWS_ACCESS_KEY:?}'