mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
feat(template): added apache superset (unofficial)
This commit is contained in:
parent
f5d81f434c
commit
05a75edbec
9
apps/dokploy/public/templates/superset.svg
Normal file
9
apps/dokploy/public/templates/superset.svg
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="256px" height="128px" viewBox="0 0 256 128" version="1.1" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid">
|
||||
<title>Superset</title>
|
||||
<g>
|
||||
<path d="M190.218924,0 C168.269282,0 148.049828,12.3487941 128.508879,33.9252584 C109.307183,12.0095415 88.748476,0 65.7810761,0 C27.7508614,0 0,27.1402067 0,63.67771 C0,100.215213 27.7508614,127.016168 65.7810761,127.016168 C89.1555791,127.016168 107.271667,116.058309 127.491121,94.2104426 C147.03207,116.12616 166.912271,127.084018 190.218924,127.084018 C228.249139,127.016168 256,100.316989 256,63.67771 C256,27.038431 228.249139,0 190.218924,0 Z M66.0524781,88.6806255 C49.9379804,88.6806255 40.3371323,78.0620196 40.3371323,64.0169626 C40.3371323,49.9719056 49.9379804,39.0479724 66.0524781,39.0479724 C79.6225815,39.0479724 90.716141,49.9719056 102.725682,64.6954678 C91.3946462,78.4012722 79.4190299,88.6806255 66.0524781,88.6806255 Z M189.065465,88.6806255 C175.698913,88.6806255 164.401802,78.0620196 152.392261,64.0169626 C164.741055,49.2934005 175.359661,39.0479724 189.065465,39.0479724 C205.179963,39.0479724 214.679035,50.1076067 214.679035,64.0169626 C214.679035,77.9263186 205.179963,88.6806255 189.065465,88.6806255 Z" fill="#484848"></path>
|
||||
<path d="M156.124039,117.958124 L181.703684,87.4253909 C171.526107,84.3721177 162.12881,75.2122979 152.392261,63.8473363 L127.491121,94.2104426 C135.643361,103.668805 145.322237,111.695521 156.124039,117.958124 Z" fill="#20A7C9"></path>
|
||||
<path d="M128.508879,33.8913332 C120.41092,24.2972701 110.793109,16.0907501 100.045587,9.60084813 L74.432017,40.4728333 C84.1685661,43.8653591 92.7855818,52.6180758 101.945402,63.7794858 L102.963159,64.4919162 L128.508879,33.8913332 Z" fill="#20A7C9"></path>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
79
apps/dokploy/templates/superset/docker-compose.yml
Normal file
79
apps/dokploy/templates/superset/docker-compose.yml
Normal file
@ -0,0 +1,79 @@
|
||||
# Note: this is an UNOFFICIAL production docker image build for Superset:
|
||||
# - https://github.com/amancevice/docker-superset
|
||||
#
|
||||
# Before deploying, you must mount your `superset_config.py` file to
|
||||
# the superset container. An example config is:
|
||||
#
|
||||
# ```python
|
||||
# import os
|
||||
#
|
||||
# SECRET_KEY = os.getenv("SECRET_KEY")
|
||||
# MAPBOX_API_KEY = os.getenv("MAPBOX_API_KEY", "")
|
||||
#
|
||||
# CACHE_CONFIG = {
|
||||
# "CACHE_TYPE": "RedisCache",
|
||||
# "CACHE_DEFAULT_TIMEOUT": 300,
|
||||
# "CACHE_KEY_PREFIX": "superset_",
|
||||
# "CACHE_REDIS_HOST": "redis",
|
||||
# "CACHE_REDIS_PORT": 6379,
|
||||
# "CACHE_REDIS_DB": 1,
|
||||
# "CACHE_REDIS_URL": f"redis://:{os.getenv('REDIS_PASSWORD')}@redis:6379/1",
|
||||
# }
|
||||
#
|
||||
# FILTER_STATE_CACHE_CONFIG = {**CACHE_CONFIG, "CACHE_KEY_PREFIX": "superset_filter_"}
|
||||
# EXPLORE_FORM_DATA_CACHE_CONFIG = {**CACHE_CONFIG, "CACHE_KEY_PREFIX": "superset_explore_form_"}
|
||||
#
|
||||
# SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{os.getenv('POSTGRES_USER')}:{os.getenv('POSTGRES_PASSWORD')}@db:5432/{os.getenv('POSTGRES_DB')}"
|
||||
# SQLALCHEMY_TRACK_MODIFICATIONS = True
|
||||
# ```
|
||||
#
|
||||
# After deploying this image, you will need to run one of the two
|
||||
# commands below in a terminal within the superset container:
|
||||
# $ superset-demo # Initialise database + load demo charts/datasets
|
||||
# $ superset-init # Initialise database only
|
||||
#
|
||||
# You will be prompted to enter the credentials for the admin user.
|
||||
|
||||
services:
|
||||
superset:
|
||||
image: amancevice/superset
|
||||
restart: always
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
environment:
|
||||
SECRET_KEY: ${SECRET_KEY}
|
||||
MAPBOX_API_KEY: ${MAPBOX_API_KEY}
|
||||
POSTGRES_USER: ${POSTGRES_USER}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
POSTGRES_DB: ${POSTGRES_DB}
|
||||
REDIS_PASSWORD: ${REDIS_PASSWORD}
|
||||
volumes:
|
||||
# NOTE: ensure `/opt/superset/superset_config.py` exists on your
|
||||
# host machine (or change the path as appropriate)
|
||||
- /opt/superset/superset_config.py:/etc/superset/superset_config.py
|
||||
|
||||
db:
|
||||
image: postgres
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_USER: ${POSTGRES_USER}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
POSTGRES_DB: ${POSTGRES_DB}
|
||||
volumes:
|
||||
- postgres:/var/lib/postgresql/data
|
||||
networks:
|
||||
- dokploy-network
|
||||
|
||||
redis:
|
||||
image: redis
|
||||
restart: always
|
||||
volumes:
|
||||
- redis:/data
|
||||
command: redis-server --requirepass ${REDIS_PASSWORD}
|
||||
networks:
|
||||
- dokploy-network
|
||||
|
||||
volumes:
|
||||
postgres:
|
||||
redis:
|
38
apps/dokploy/templates/superset/index.ts
Normal file
38
apps/dokploy/templates/superset/index.ts
Normal file
@ -0,0 +1,38 @@
|
||||
import {
|
||||
type DomainSchema,
|
||||
type Schema,
|
||||
type Template,
|
||||
generatePassword,
|
||||
generateRandomDomain,
|
||||
} from "../utils";
|
||||
|
||||
export function generate(schema: Schema): Template {
|
||||
const mapboxApiKey = "";
|
||||
const secretKey = generatePassword(30);
|
||||
const postgresDb = "superset";
|
||||
const postgresUser = "superset";
|
||||
const postgresPassword = generatePassword(30);
|
||||
const redisPassword = generatePassword(30);
|
||||
|
||||
const domains: DomainSchema[] = [
|
||||
{
|
||||
host: generateRandomDomain(schema),
|
||||
port: 8088,
|
||||
serviceName: "superset",
|
||||
},
|
||||
];
|
||||
|
||||
const envs = [
|
||||
`SECRET_KEY=${secretKey}`,
|
||||
`MAPBOX_API_KEY=${mapboxApiKey}`,
|
||||
`POSTGRES_DB=${postgresDb}`,
|
||||
`POSTGRES_USER=${postgresUser}`,
|
||||
`POSTGRES_PASSWORD=${postgresPassword}`,
|
||||
`REDIS_PASSWORD=${redisPassword}`,
|
||||
];
|
||||
|
||||
return {
|
||||
envs,
|
||||
domains,
|
||||
};
|
||||
}
|
@ -1298,4 +1298,18 @@ export const templates: TemplateData[] = [
|
||||
tags: ["developer", "tools"],
|
||||
load: () => import("./it-tools/index").then((m) => m.generate),
|
||||
},
|
||||
{
|
||||
id: "superset",
|
||||
name: "Superset (Unofficial)",
|
||||
version: "latest",
|
||||
description: "Data visualization and data exploration platform.",
|
||||
logo: "superset.svg",
|
||||
links: {
|
||||
github: "https://github.com/amancevice/docker-superset",
|
||||
website: "https://superset.apache.org",
|
||||
docs: "https://superset.apache.org/docs/intro",
|
||||
},
|
||||
tags: ["developer", "tools"],
|
||||
load: () => import("./superset/index").then((m) => m.generate),
|
||||
},
|
||||
];
|
||||
|
Loading…
Reference in New Issue
Block a user