Rafal
06/17/2020, 7:34 AMFran Sanchez
06/17/2020, 4:13 PMFran Sanchez
06/17/2020, 4:14 PMFran Sanchez
06/17/2020, 4:14 PMversion: "3.7"
services:
db:
image: postgres:11.5-alpine
restart: always
env_file:
- dev/env-postgres.env
environment:
- PGDATA=/var/lib/postgresql/data/pgdata
volumes:
- app-db-data:/var/lib/postgresql/data/pgdata
dagit:
build:
context: .
dockerfile: dagit.dockerfile
volumes:
- dagster-home:/opt/dagster/dagster_home
- dagster-artifacts:/opt/dagster/local
env_file:
- dev/env-postgres.env
ports:
- 3000:3000
depends_on:
- db
volumes:
dagster-home:
dagster-artifacts:
Fran Sanchez
06/17/2020, 4:15 PMdagit.dockerfile
is like this:
FROM python:3.7-slim
# Cron is required to use scheduling in Dagster
RUN apt-get update && apt-get install -yqq cron
RUN mkdir -p /opt/dagster/dagster_home /opt/dagster/app
RUN pip install dagit dagster-postgres dagster-cron
# Copy your pipeline code and entrypoint.sh to /opt/dagster/app
COPY dagstrolabe/* scripts/entrypoint.sh /opt/dagster/app/
# Copy dagster instance YAML to $DAGSTER_HOME
COPY dagstrolabe/dagster.yaml /opt/dagster/dagster_home/
WORKDIR /opt/dagster/app
RUN chmod +x entrypoint.sh
EXPOSE 3000
ENTRYPOINT ["/opt/dagster/app/entrypoint.sh"]
Fran Sanchez
06/17/2020, 4:15 PMdagstrolabe
is just a dummy name that I picked up for testingFran Sanchez
06/17/2020, 4:15 PMFran Sanchez
06/17/2020, 4:16 PMentrypoint.sh
is from the documentation:
#!/bin/sh
export DAGSTER_HOME=/opt/dagster/dagster_home
# This block may be omitted if not packaging a repository with cron schedules:
####################################################################################################
# see: <https://unix.stackexchange.com/a/453053> - fixes inflated hard link count
touch /etc/crontab /etc/cron.*/*
service cron start
# Add all schedules defined by the user
dagster schedule up
####################################################################################################
# Launch Dagit as a service
DAGSTER_HOME=/opt/dagster/dagster_home dagit -h 0.0.0.0 -p 3000
Rafal
06/18/2020, 9:39 AMFran Sanchez
06/18/2020, 9:40 AMPOSTGRES_SERVER=db
POSTGRES_USER=dagit
POSTGRES_PASSWORD=dev_pass_123
POSTGRES_DB=dagit
Fran Sanchez
06/18/2020, 9:40 AMRafal
06/18/2020, 10:04 AMdagit_1 | Usage: dagster schedule up [OPTIONS]
dagit_1 |
dagit_1 | Error: No arguments given and workspace.yaml not found.
dagit_1 | Usage: dagit [OPTIONS]
dagit_1 |
dagit_1 | Error: No arguments given and workspace.yaml not found.
dagster_dagit_1 exited with code 2
I've got this kind of bug - could you please add always dagster yaml instance? Guess I missing itFran Sanchez
06/18/2020, 10:06 AMworkspace.yaml
which seems that you don't haveFran Sanchez
06/18/2020, 10:06 AMRafal
06/18/2020, 10:14 AMFran Sanchez
06/18/2020, 10:15 AMload_from:
- python_file: repo.py
Fran Sanchez
06/18/2020, 10:16 AM