From 3bdd5e4dd01d27aac18535f07d25cc83bef16016 Mon Sep 17 00:00:00 2001 From: Vyacheslav Scherbinin Date: Thu, 6 Mar 2025 10:34:13 +0700 Subject: [PATCH 1/7] Template DataLens --- apps/dokploy/public/templates/datalens.svg | 28 +++++ .../templates/datalens/docker-compose.yml | 106 ++++++++++++++++++ apps/dokploy/templates/datalens/index.ts | 23 ++++ apps/dokploy/templates/templates.ts | 14 +++ 4 files changed, 171 insertions(+) create mode 100644 apps/dokploy/public/templates/datalens.svg create mode 100644 apps/dokploy/templates/datalens/docker-compose.yml create mode 100644 apps/dokploy/templates/datalens/index.ts diff --git a/apps/dokploy/public/templates/datalens.svg b/apps/dokploy/public/templates/datalens.svg new file mode 100644 index 00000000..64954e31 --- /dev/null +++ b/apps/dokploy/public/templates/datalens.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/dokploy/templates/datalens/docker-compose.yml b/apps/dokploy/templates/datalens/docker-compose.yml new file mode 100644 index 00000000..94da15fc --- /dev/null +++ b/apps/dokploy/templates/datalens/docker-compose.yml @@ -0,0 +1,106 @@ +services: + pg-compeng: + container_name: datalens-pg-compeng + image: postgres:16-alpine + environment: + POSTGRES_PASSWORD: "postgres" + POSTGRES_DB: postgres + POSTGRES_USER: postgres + + control-api: + container_name: datalens-control-api + image: ghcr.io/datalens-tech/datalens-control-api:0.2192.0 + environment: + BI_API_UWSGI_WORKERS_COUNT: 4 + CONNECTOR_AVAILABILITY_VISIBLE: "clickhouse,postgres,chyt,ydb,mysql,greenplum,mssql,appmetrica_api,metrika_api" + RQE_FORCE_OFF: 1 + DL_CRY_ACTUAL_KEY_ID: key_1 + DL_CRY_KEY_VAL_ID_key_1: "h1ZpilcYLYRdWp7Nk8X1M1kBPiUi8rdjz9oBfHyUKIk=" + RQE_SECRET_KEY: "" + US_HOST: "http://us:8083" + US_MASTER_TOKEN: "fake-us-master-token" + depends_on: + - us + + data-api: + container_name: datalens-data-api + image: ghcr.io/datalens-tech/datalens-data-api:0.2192.0 + environment: + GUNICORN_WORKERS_COUNT: 5 + RQE_FORCE_OFF: 1 + CACHES_ON: 0 + MUTATIONS_CACHES_ON: 0 + RQE_SECRET_KEY: "" + DL_CRY_ACTUAL_KEY_ID: key_1 + DL_CRY_KEY_VAL_ID_key_1: "h1ZpilcYLYRdWp7Nk8X1M1kBPiUi8rdjz9oBfHyUKIk=" + BI_COMPENG_PG_ON: 1 + BI_COMPENG_PG_URL: "postgresql://postgres:postgres@pg-compeng:5432/postgres" + US_HOST: "http://us:8083" + US_MASTER_TOKEN: "fake-us-master-token" + depends_on: + - us + - pg-compeng + + pg-demo-connection: + container_name: datalens-pg-demo-connection + image: postgres:16-alpine + environment: + POSTGRES_DB: demo + POSTGRES_USER: demo + POSTGRES_PASSWORD: demo + volumes: + - ${VOLUME_DEMO:-./pg-demo-connection/data}:/var/lib/postgresql/data + - ./pg-demo-connection/init:/docker-entrypoint-initdb.d + + pg-us: + container_name: datalens-pg-us + image: postgres:16-alpine + environment: + POSTGRES_DB: us-db-ci_purgeable + POSTGRES_USER: us + POSTGRES_PASSWORD: us + volumes: + - ${VOLUME_US:-./metadata}:/var/lib/postgresql/data + + us: + container_name: datalens-us + image: ghcr.io/datalens-tech/datalens-us:0.310.0 + depends_on: + - pg-us + environment: + APP_INSTALLATION: "opensource" + APP_ENV: "prod" + MASTER_TOKEN: "fake-us-master-token" + POSTGRES_DSN_LIST: ${METADATA_POSTGRES_DSN_LIST:-postgres://us:us@pg-us:5432/us-db-ci_purgeable} + SKIP_INSTALL_DB_EXTENSIONS: ${METADATA_SKIP_INSTALL_DB_EXTENSIONS:-0} + USE_DEMO_DATA: ${USE_DEMO_DATA:-1} + HC: ${HC:-0} + NODE_EXTRA_CA_CERTS: /certs/root.crt + extra_hosts: + - "host.docker.internal:host-gateway" + volumes: + - ./certs:/certs + + datalens: + container_name: datalens-ui + image: ghcr.io/datalens-tech/datalens-ui:0.2601.0 + ports: + - ${UI_PORT:-8080}:8080 + depends_on: + - us + - control-api + - data-api + - pg-demo-connection + environment: + APP_MODE: "full" + APP_ENV: "production" + APP_INSTALLATION: "opensource" + AUTH_POLICY: "disabled" + US_ENDPOINT: "http://us:8083" + BI_API_ENDPOINT: "http://control-api:8080" + BI_DATA_ENDPOINT: "http://data-api:8080" + US_MASTER_TOKEN: "fake-us-master-token" + NODE_EXTRA_CA_CERTS: "/usr/local/share/ca-certificates/cert.pem" + HC: ${HC:-0} + YANDEX_MAP_ENABLED: ${YANDEX_MAP_ENABLED:-0} + YANDEX_MAP_TOKEN: ${YANDEX_MAP_TOKEN:-0} diff --git a/apps/dokploy/templates/datalens/index.ts b/apps/dokploy/templates/datalens/index.ts new file mode 100644 index 00000000..f2efb76b --- /dev/null +++ b/apps/dokploy/templates/datalens/index.ts @@ -0,0 +1,23 @@ +import { + type DomainSchema, + type Schema, + type Template, + generateRandomDomain, +} from "../utils"; + +export function generate(schema: Schema): Template { + const domains: DomainSchema[] = [ + { + host: generateRandomDomain(schema), + port: 8080, + serviceName: "datalens", + }, + ]; + + const envs = ["HC=1"]; + + return { + envs, + domains, + }; +} diff --git a/apps/dokploy/templates/templates.ts b/apps/dokploy/templates/templates.ts index d39465a8..f0944c01 100644 --- a/apps/dokploy/templates/templates.ts +++ b/apps/dokploy/templates/templates.ts @@ -108,6 +108,20 @@ export const templates: TemplateData[] = [ tags: ["monitoring"], load: () => import("./grafana/index").then((m) => m.generate), }, + { + id: "datalens", + name: "DataLens", + version: "1.23.0", + description: "A modern, scalable business intelligence and data visualization system.", + logo: "datalens.svg", + links: { + github: "https://github.com/datalens-tech/datalens", + website: "https://datalens.tech/", + docs: "https://datalens.tech/docs/", + }, + tags: ["analytics", "self-hosted", "bi", "monitoring"], + load: () => import("./datalens/index").then((m) => m.generate), + }, { id: "directus", name: "Directus", From f5cd0fbdd80ec97987fdb91f73a28df6a16a8f68 Mon Sep 17 00:00:00 2001 From: Vyacheslav Shcherbinin Date: Thu, 6 Mar 2025 11:32:13 +0700 Subject: [PATCH 2/7] Restart policy --- apps/dokploy/templates/datalens/docker-compose.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/apps/dokploy/templates/datalens/docker-compose.yml b/apps/dokploy/templates/datalens/docker-compose.yml index 94da15fc..e4edc6ed 100644 --- a/apps/dokploy/templates/datalens/docker-compose.yml +++ b/apps/dokploy/templates/datalens/docker-compose.yml @@ -2,6 +2,7 @@ services: pg-compeng: container_name: datalens-pg-compeng image: postgres:16-alpine + restart: always environment: POSTGRES_PASSWORD: "postgres" POSTGRES_DB: postgres @@ -10,6 +11,7 @@ services: control-api: container_name: datalens-control-api image: ghcr.io/datalens-tech/datalens-control-api:0.2192.0 + restart: always environment: BI_API_UWSGI_WORKERS_COUNT: 4 CONNECTOR_AVAILABILITY_VISIBLE: "clickhouse,postgres,chyt,ydb,mysql,greenplum,mssql,appmetrica_api,metrika_api" @@ -25,6 +27,7 @@ services: data-api: container_name: datalens-data-api image: ghcr.io/datalens-tech/datalens-data-api:0.2192.0 + restart: always environment: GUNICORN_WORKERS_COUNT: 5 RQE_FORCE_OFF: 1 @@ -44,6 +47,7 @@ services: pg-demo-connection: container_name: datalens-pg-demo-connection image: postgres:16-alpine + restart: unless-stopped environment: POSTGRES_DB: demo POSTGRES_USER: demo @@ -55,6 +59,7 @@ services: pg-us: container_name: datalens-pg-us image: postgres:16-alpine + restart: always environment: POSTGRES_DB: us-db-ci_purgeable POSTGRES_USER: us @@ -65,6 +70,7 @@ services: us: container_name: datalens-us image: ghcr.io/datalens-tech/datalens-us:0.310.0 + restart: always depends_on: - pg-us environment: @@ -84,6 +90,7 @@ services: datalens: container_name: datalens-ui image: ghcr.io/datalens-tech/datalens-ui:0.2601.0 + restart: always ports: - ${UI_PORT:-8080}:8080 depends_on: From bf9e886b9aead461e380829b6f34e4704d0beb02 Mon Sep 17 00:00:00 2001 From: Vyacheslav Shcherbinin Date: Thu, 6 Mar 2025 14:05:39 +0700 Subject: [PATCH 3/7] Disable demo --- .../dokploy/templates/datalens/docker-compose.yml | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/apps/dokploy/templates/datalens/docker-compose.yml b/apps/dokploy/templates/datalens/docker-compose.yml index e4edc6ed..57dd0026 100644 --- a/apps/dokploy/templates/datalens/docker-compose.yml +++ b/apps/dokploy/templates/datalens/docker-compose.yml @@ -44,18 +44,6 @@ services: - us - pg-compeng - pg-demo-connection: - container_name: datalens-pg-demo-connection - image: postgres:16-alpine - restart: unless-stopped - environment: - POSTGRES_DB: demo - POSTGRES_USER: demo - POSTGRES_PASSWORD: demo - volumes: - - ${VOLUME_DEMO:-./pg-demo-connection/data}:/var/lib/postgresql/data - - ./pg-demo-connection/init:/docker-entrypoint-initdb.d - pg-us: container_name: datalens-pg-us image: postgres:16-alpine @@ -79,7 +67,7 @@ services: MASTER_TOKEN: "fake-us-master-token" POSTGRES_DSN_LIST: ${METADATA_POSTGRES_DSN_LIST:-postgres://us:us@pg-us:5432/us-db-ci_purgeable} SKIP_INSTALL_DB_EXTENSIONS: ${METADATA_SKIP_INSTALL_DB_EXTENSIONS:-0} - USE_DEMO_DATA: ${USE_DEMO_DATA:-1} + USE_DEMO_DATA: ${USE_DEMO_DATA:-0} HC: ${HC:-0} NODE_EXTRA_CA_CERTS: /certs/root.crt extra_hosts: @@ -97,7 +85,6 @@ services: - us - control-api - data-api - - pg-demo-connection environment: APP_MODE: "full" APP_ENV: "production" From e6c664e65f52816c0be2b88344a58f3e945d576c Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Fri, 7 Mar 2025 00:06:06 -0600 Subject: [PATCH 4/7] Update apps/dokploy/templates/datalens/docker-compose.yml --- apps/dokploy/templates/datalens/docker-compose.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/dokploy/templates/datalens/docker-compose.yml b/apps/dokploy/templates/datalens/docker-compose.yml index 57dd0026..dc2265af 100644 --- a/apps/dokploy/templates/datalens/docker-compose.yml +++ b/apps/dokploy/templates/datalens/docker-compose.yml @@ -1,6 +1,5 @@ services: pg-compeng: - container_name: datalens-pg-compeng image: postgres:16-alpine restart: always environment: From f73959db41402952e3ec61a082d8fa4ed396d302 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Fri, 7 Mar 2025 00:06:10 -0600 Subject: [PATCH 5/7] Update apps/dokploy/templates/datalens/docker-compose.yml --- apps/dokploy/templates/datalens/docker-compose.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/dokploy/templates/datalens/docker-compose.yml b/apps/dokploy/templates/datalens/docker-compose.yml index dc2265af..3a4f47e4 100644 --- a/apps/dokploy/templates/datalens/docker-compose.yml +++ b/apps/dokploy/templates/datalens/docker-compose.yml @@ -8,7 +8,6 @@ services: POSTGRES_USER: postgres control-api: - container_name: datalens-control-api image: ghcr.io/datalens-tech/datalens-control-api:0.2192.0 restart: always environment: From 58262606d4d84fb2cd4720c72fc799460fed9eee Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Fri, 7 Mar 2025 00:06:16 -0600 Subject: [PATCH 6/7] Update apps/dokploy/templates/datalens/docker-compose.yml --- apps/dokploy/templates/datalens/docker-compose.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/dokploy/templates/datalens/docker-compose.yml b/apps/dokploy/templates/datalens/docker-compose.yml index 3a4f47e4..6fb23939 100644 --- a/apps/dokploy/templates/datalens/docker-compose.yml +++ b/apps/dokploy/templates/datalens/docker-compose.yml @@ -54,7 +54,6 @@ services: - ${VOLUME_US:-./metadata}:/var/lib/postgresql/data us: - container_name: datalens-us image: ghcr.io/datalens-tech/datalens-us:0.310.0 restart: always depends_on: From 5c65dc9a21ef003d63d4a2ed7f56101faf7d2ba2 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Fri, 7 Mar 2025 00:06:20 -0600 Subject: [PATCH 7/7] Update apps/dokploy/templates/datalens/docker-compose.yml --- apps/dokploy/templates/datalens/docker-compose.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/dokploy/templates/datalens/docker-compose.yml b/apps/dokploy/templates/datalens/docker-compose.yml index 6fb23939..94839e04 100644 --- a/apps/dokploy/templates/datalens/docker-compose.yml +++ b/apps/dokploy/templates/datalens/docker-compose.yml @@ -73,7 +73,6 @@ services: - ./certs:/certs datalens: - container_name: datalens-ui image: ghcr.io/datalens-tech/datalens-ui:0.2601.0 restart: always ports: