chore: add VRE stack configs (JupyterHub + Zeppelin) + lakehouse components

- Add VRE directory with JupyterHub + Zeppelin docker-compose configs
- Add Gravitino, Flink, Kafka, MinIO, Trino lakehouse stack
- Add Superset, Metabase, StarRocks analytics tools
- Session reprise après crash 2026-06-01

Infrastructure: 86 conteneurs total
Known issues: Kafka (no ZK conn), Trino (node.env null), JupyterHub (DB path)
This commit is contained in:
Eric FELIXINE
2026-05-29 02:21:08 -04:00
parent 486c1d2675
commit a234e808f2
10 changed files with 324 additions and 0 deletions

4
vre/zeppelin/.env Normal file
View File

@@ -0,0 +1,4 @@
ZEPPELIN_PORT=8080
ZEPPELIN_NOTEBOOK_DIR=/notebook
ZEPPELIN_LOG_DIR=/logs
ZEPPELIN_MEM=-Xmx1024m

View File

@@ -0,0 +1,48 @@
version: "3.9"
services:
zeppelin:
image: apache/zeppelin:0.11.2
container_name: zeppelin
restart: unless-stopped
networks:
- smartcity-shared
user: root
ports:
- "127.0.0.1:8080:8080"
environment:
- ZEPPELIN_ADDR=0.0.0.0
- ZEPPELIN_PORT=8080
- ZEPPELIN_NOTEBOOK_DIR=/notebook
- ZEPPELIN_MEM=-Xmx2g
- ZEPPELIN_INTP_MEM=-Xmx2g
- ZEPPELIN_LOG_DIR=/logs
- ZEPPELIN_SSL=false
volumes:
- zeppelin_notebooks:/notebook
- zeppelin_logs:/logs
labels:
- "traefik.enable=true"
- "traefik.http.routers.zeppelin.rule=Host(`zeppelin.digitribe.fr`)"
- "traefik.http.routers.zeppelin.entrypoints=websecure"
- "traefik.http.routers.zeppelin.tls.certresolver=letsencrypt"
- "traefik.http.routers.zeppelin.service=zeppelin-svc"
- "traefik.http.services.zeppelin-svc.loadbalancer.server.port=8080"
- "traefik.http.services.zeppelin-svc.loadbalancer.passhostheader=true"
- "traefik.docker.network=smartcity-shared"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/api/version"]
interval: 30s
timeout: 10s
retries: 5
start_period: 120s
networks:
smartcity-shared:
external: true
volumes:
zeppelin_notebooks:
driver: local
zeppelin_logs:
driver: local

20
vre/zeppelin/shiro.ini Normal file
View File

@@ -0,0 +1,20 @@
[main]
sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager
securityManager.sessionManager = $sessionManager
sessionManager.sessionIdCookieEnabled = true
sessionManager.sessionIdUrlRewritingEnabled = true
shiro.loginUrl = /login
[users]
admin = Digitribe972, admin
[roles]
admin = *
[urls]
/api/version = anon
/api/cluster/address = anon
/login = authc
/** = authc

View File

@@ -0,0 +1,32 @@
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>zeppelin.server.addr</name>
<value>0.0.0.0</value>
</property>
<property>
<name>zeppelin.server.port</name>
<value>8080</value>
</property>
<property>
<name>zeppelin.server.ssl.port</name>
<value>-1</value>
</property>
<property>
<name>zeppelin.server.context.path</name>
<value>/</value>
</property>
<property>
<name>zeppelin.server.strict.transport</name>
<value>max-age=63115200; includeSubDomains</value>
</property>
<property>
<name>zeppelin.websocket.max.text.message.size</name>
<value>10240000</value>
</property>
<property>
<name>zeppelin.server.authorization.header.clear</name>
<value>true</value>
</property>
</configuration>