3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-10 12:25:02 +00:00

Simplify dev docker setup

This commit is contained in:
Dragory 2022-06-26 19:30:46 +03:00
parent b655085115
commit ce2255b6b7
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
13 changed files with 65 additions and 97 deletions

View file

@ -1,14 +1,11 @@
FROM nginx
ARG API_DOMAIN
ARG DASHBOARD_DOMAIN
ARG API_PORT
ARG DOCKER_DEV_API_PORT
ARG DOCKER_DEV_DASHBOARD_PORT
RUN apt-get update && apt-get install -y openssl
RUN openssl req -x509 -newkey rsa:4096 -keyout /etc/ssl/private/api-cert.key -out /etc/ssl/certs/api-cert.pem -days 3650 -subj '/CN=*.${API_DOMAIN}' -nodes
RUN openssl req -x509 -newkey rsa:4096 -keyout /etc/ssl/private/dashboard-cert.key -out /etc/ssl/certs/dashboard-cert.pem -days 3650 -subj '/CN=*.${DASHBOARD_DOMAIN}' -nodes
RUN openssl req -x509 -newkey rsa:4096 -keyout /etc/ssl/private/localhost-cert.key -out /etc/ssl/certs/localhost-cert.pem -days 3650 -subj '/CN=localhost' -nodes
COPY ./default.conf /etc/nginx/conf.d/default.conf
RUN sed -ir "s/_API_DOMAIN_/$(echo ${API_DOMAIN} | sed 's/\./\\./g')/g" /etc/nginx/conf.d/default.conf
RUN sed -ir "s/_DASHBOARD_DOMAIN_/$(echo ${DASHBOARD_DOMAIN} | sed 's/\./\\./g')/g" /etc/nginx/conf.d/default.conf
RUN sed -ir "s/_API_PORT_/${API_PORT}/g" /etc/nginx/conf.d/default.conf

View file

@ -1,36 +1,7 @@
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name _API_DOMAIN_;
location / {
# Using a variable here stops nginx from crashing if the dev container is restarted or becomes otherwise unavailable
set $backend_upstream "http://devenv:_API_PORT_";
# Using a variable in proxy_pass also requires resolver to be set.
# This is the address of the internal docker compose DNS server.
resolver 127.0.0.11;
proxy_pass $backend_upstream;
client_max_body_size 200M;
}
ssl_certificate /etc/ssl/certs/api-cert.pem;
ssl_certificate_key /etc/ssl/private/api-cert.key;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.3;
ssl_prefer_server_ciphers off;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name _DASHBOARD_DOMAIN_;
server_name localhost;
root /zeppelin/dashboard/dist;
@ -39,8 +10,25 @@ server {
try_files $uri $uri/ /index.html;
}
ssl_certificate /etc/ssl/certs/dashboard-cert.pem;
ssl_certificate_key /etc/ssl/private/dashboard-cert.key;
# Using a variable here stops nginx from crashing if the dev container is restarted or becomes otherwise unavailable
set $backend_upstream "http://devenv:_API_PORT_";
location /api {
# Remove /api/ from the beginning when passing the path to the API process
rewrite /api(/.*)$ $1 break;
# Using a variable in proxy_pass also requires resolver to be set.
# This is the address of the internal docker compose DNS server.
resolver 127.0.0.11;
proxy_pass $backend_upstream$uri$is_args$args;
proxy_redirect off;
client_max_body_size 200M;
}
ssl_certificate /etc/ssl/certs/localhost-cert.pem;
ssl_certificate_key /etc/ssl/private/localhost-cert.key;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;