diff --git a/.docker/dagster/Dockerfile b/.docker/dagster/Dockerfile new file mode 100644 index 000000000..19c25ef59 --- /dev/null +++ b/.docker/dagster/Dockerfile @@ -0,0 +1,34 @@ +FROM python:3.10-slim + +# ARG DAGSTER_PASSWORD=zlv +# ARG DAGSTER_USERNAME=zlv + +# ENV DAGSTER_PASSWORD=$DAGSTER_PASSWORD +# ENV DAGSTER_USERNAME=$DAGSTER_USERNAME + +RUN apt-get update && apt-get install -y nginx apache2-utils + +RUN pip install dagster-webserver dagster-postgres dagster-aws + +COPY analytics/dagster/requirements.txt . + + +RUN pip install -r requirements.txt + +ENV DAGSTER_HOME=/opt/dagster/dagster_home/ + +RUN mkdir -p $DAGSTER_HOME + +COPY analytics/dagster/dagster.yaml analytics/dagster/workspace.yaml $DAGSTER_HOME + +COPY analytics/dagster/src $DAGSTER_HOME/src + +WORKDIR $DAGSTER_HOME + +# Setup Nginx configuration +RUN htpasswd -cb /etc/nginx/.htpasswd zlv zlv +COPY docker/nginx/nginx.conf /etc/nginx/sites-available/default + +EXPOSE 8080 3000 + +CMD service nginx start && dagster-webserver -h 0.0.0.0 -p 3000 \ No newline at end of file diff --git a/analytics/dagster/Dockerfile b/analytics/dagster/Dockerfile index f68ce7418..d1a34d915 100644 --- a/analytics/dagster/Dockerfile +++ b/analytics/dagster/Dockerfile @@ -2,8 +2,13 @@ FROM python:3.10-slim RUN pip install dagster-webserver dagster-postgres dagster-aws +RUN apt-get update && apt-get install -y nginx apache2-utils + +RUN ls # Install dependencies COPY requirements.txt . + + RUN pip install -r requirements.txt ENV DAGSTER_HOME=/opt/dagster/dagster_home/ @@ -16,6 +21,12 @@ COPY src/ $DAGSTER_HOME WORKDIR $DAGSTER_HOME -EXPOSE 3000 +# Setup Nginx configuration +RUN htpasswd -cb /etc/nginx/.htpasswd zlv zlv +COPY docker/nginx/nginx.conf /etc/nginx/sites-available/default + +# Expose port 80 for the Nginx web server +EXPOSE 8080 + +CMD nginx -g 'daemon off;' & dagster-webserver -h 0.0.0.0 -p 3000 -ENTRYPOINT ["dagster-webserver", "-h", "0.0.0.0", "-p", "3000"] diff --git a/analytics/dagster/dagster.yaml b/analytics/dagster/dagster.yaml index fedb16205..da99be596 100644 --- a/analytics/dagster/dagster.yaml +++ b/analytics/dagster/dagster.yaml @@ -9,7 +9,8 @@ storage: env: DAGSTER_PG_HOST db_name: env: DAGSTER_PG_DB - port: 5432 + port: + env: DAGSTER_PG_PORT telemetry: enabled: false \ No newline at end of file diff --git a/analytics/dagster/docker/nginx/nginx.conf b/analytics/dagster/docker/nginx/nginx.conf new file mode 100644 index 000000000..741aecc3b --- /dev/null +++ b/analytics/dagster/docker/nginx/nginx.conf @@ -0,0 +1,14 @@ +server { + listen 8080; + + location / { + auth_basic "Restricted Access"; + auth_basic_user_file /etc/nginx/.htpasswd; + + proxy_pass http://127.0.0.1:3000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } +} \ No newline at end of file diff --git a/analytics/docker-compose.yml b/analytics/docker-compose.yml index ff7a6f83b..9503ec814 100644 --- a/analytics/docker-compose.yml +++ b/analytics/docker-compose.yml @@ -8,7 +8,7 @@ services: env_file: - .env ports: - - 3000:3000 + - 8080:8080 postgres: image: postgres:latest