diff --git a/bitnami/airflow/1/ol-7/Dockerfile b/bitnami/airflow/1/ol-7/Dockerfile new file mode 100644 index 000000000000..959caaf09f54 --- /dev/null +++ b/bitnami/airflow/1/ol-7/Dockerfile @@ -0,0 +1,47 @@ +FROM bitnami/oraclelinux-extras:7-r251 +LABEL maintainer "Bitnami " + +ENV BITNAMI_PKG_CHMOD="-R g+rwX" \ + HOME="/" + +# Install required system packages and dependencies +RUN install_packages bzip2-libs cyrus-sasl-lib glibc keyutils-libs krb5-libs libcom_err libffi libgcc libselinux libstdc++ libxml2 libxslt mariadb-libs ncurses-libs nss-softokn-freebl openssl-libs pcre readline sqlite xz-libs zlib +RUN bitnami-pkg install python-3.6.8-0 --checksum 4833c8498b63c2391e9d9ef6f0e8230b72bc3ce3d7f3cbfe1d3a0f387a5f7a89 +RUN bitnami-pkg install postgresql-client-10.6.0-20 --checksum 3f1d493904e0c681e17c9135c92d2e51fea7b0161aa4c3c1ca64acf084e58eb1 +RUN bitnami-pkg unpack airflow-1.10.2-0 --checksum 8809cdb930c2975bea6114b9bbe06dc3b3dbe05f82360f4fb73e6d07d42239ce + +COPY rootfs / +RUN rpm -Uvh --nodeps $(repoquery --location nss_wrapper) +ENV AIRFLOW_DATABASE_HOST="postgresql" \ + AIRFLOW_DATABASE_NAME="bitnami_airflow" \ + AIRFLOW_DATABASE_PASSWORD="bitnami1" \ + AIRFLOW_DATABASE_PORT_NUMBER="5432" \ + AIRFLOW_DATABASE_USERNAME="bn_airflow" \ + AIRFLOW_DATABASE_USE_SSL="no" \ + AIRFLOW_EMAIL="user@example.com" \ + AIRFLOW_EXECUTOR="SequentialExecutor" \ + AIRFLOW_FERNET_KEY="" \ + AIRFLOW_HOME="/opt/bitnami/airflow" \ + AIRFLOW_PASSWORD="bitnami" \ + AIRFLOW_REDIS_USE_SSL="no" \ + AIRFLOW_USERNAME="user" \ + AIRFLOW_WEBSERVER_HOST="127.0.0.1" \ + AIRFLOW_WEBSERVER_PORT_NUMBER="8080" \ + BITNAMI_APP_NAME="airflow" \ + BITNAMI_IMAGE_VERSION="1.10.2-ol-7-r0" \ + LD_LIBRARY_PATH="/opt/bitnami/airflow/venv/lib/python3.6/site-packages/numpy/.libs/:$LD_LIBRARY_PATH" \ + LD_PRELOAD="/usr/lib64/libnss_wrapper.so" \ + NAMI_PREFIX="/.nami" \ + NSS_WRAPPER_GROUP="/opt/bitnami/airflow/nss_group" \ + NSS_WRAPPER_PASSWD="/opt/bitnami/airflow/nss_passwd" \ + PATH="/opt/bitnami/python/bin:/opt/bitnami/postgresql/bin:/opt/bitnami/airflow/bin:/opt/bitnami/airflow/venv/bin:$PATH" \ + REDIS_HOST="redis" \ + REDIS_PASSWORD="" \ + REDIS_PORT_NUMBER="6379" \ + REDIS_USER="" + +EXPOSE 8080 + +USER 1001 +ENTRYPOINT [ "/app-entrypoint.sh" ] +CMD [ "/run.sh" ] diff --git a/bitnami/airflow/1/ol-7/docker-compose.yml b/bitnami/airflow/1/ol-7/docker-compose.yml new file mode 100644 index 000000000000..116c58ebe70d --- /dev/null +++ b/bitnami/airflow/1/ol-7/docker-compose.yml @@ -0,0 +1,27 @@ +version: '2' + +services: + postgresql: + image: 'bitnami/postgresql:latest' + volumes: + - 'postgresql_data:/bitnami' + environment: + - POSTGRESQL_DATABASE=bitnami_airflow + - POSTGRESQL_USERNAME=bn_airflow + - POSTGRESQL_PASSWORD=bitnami1 + airflow: + image: bitnami/airflow:1-ol-7 + environment: + - AIRFLOW_DATABASE_NAME=bitnami_airflow + - AIRFLOW_DATABASE_USER=bn_airflow + - AIRFLOW_DATABASE_PASSWORD=bitnami1 + - AIRFLOW_EXECUTOR=LocalExecutor + ports: + - '8080:8080' + volumes: + - airflow_data:/bitnami +volumes: + airflow_data: + driver: local + postgresql_data: + driver: local diff --git a/bitnami/airflow/1/ol-7/rootfs/airflow-inputs.json b/bitnami/airflow/1/ol-7/rootfs/airflow-inputs.json new file mode 100644 index 000000000000..34fa5e8e7053 --- /dev/null +++ b/bitnami/airflow/1/ol-7/rootfs/airflow-inputs.json @@ -0,0 +1,20 @@ +{ + "databaseName": "{{$global.env.AIRFLOW_DATABASE_NAME}}", + "databaseServerHost": "{{$global.env.AIRFLOW_DATABASE_HOST}}", + "databaseServerPort": "{{$global.env.AIRFLOW_DATABASE_PORT_NUMBER}}", + "databaseUseSSL": "{{$global.env.AIRFLOW_DATABASE_USE_SSL}}", + "databaseUser": "{{$global.env.AIRFLOW_DATABASE_USERNAME}}", + "databaseUserPassword": "{{$global.env.AIRFLOW_DATABASE_PASSWORD}}", + "email": "{{$global.env.AIRFLOW_EMAIL}}", + "executor": "{{$global.env.AIRFLOW_EXECUTOR}}", + "fernetKey": "{{$global.env.AIRFLOW_FERNET_KEY}}", + "host": "{{$global.env.AIRFLOW_WEBSERVER_HOST}}", + "password": "{{$global.env.AIRFLOW_PASSWORD}}", + "redisHost": "{{$global.env.REDIS_HOST}}", + "redisPassword": "{{$global.env.REDIS_PASSWORD}}", + "redisPort": "{{$global.env.REDIS_PORT_NUMBER}}", + "redisUseSSL": "{{$global.env.AIRFLOW_REDIS_USE_SSL}}", + "redisUser": "{{$global.env.REDIS_USER}}", + "username": "{{$global.env.AIRFLOW_USERNAME}}", + "webserverPort": "{{$global.env.AIRFLOW_WEBSERVER_PORT_NUMBER}}" +} \ No newline at end of file diff --git a/bitnami/airflow/1/ol-7/rootfs/app-entrypoint.sh b/bitnami/airflow/1/ol-7/rootfs/app-entrypoint.sh new file mode 100755 index 000000000000..5fa494576a30 --- /dev/null +++ b/bitnami/airflow/1/ol-7/rootfs/app-entrypoint.sh @@ -0,0 +1,21 @@ +#!/bin/bash -e + +. /opt/bitnami/base/functions +. /opt/bitnami/base/helpers + +print_welcome_page + +if [[ "$1" == "nami" && "$2" == "start" ]] || [[ "$1" == "/run.sh" ]]; then + if ! getent passwd "$(id -u)" &> /dev/null && [ -e /usr/lib64/libnss_wrapper.so ]; then + export LD_PRELOAD='/usr/lib64/libnss_wrapper.so' + export NSS_WRAPPER_PASSWD='/opt/bitnami/airflow/nss_passwd' + export NSS_WRAPPER_GROUP='/opt/bitnami/airflow/nss_group' + echo "airflow:x:$(id -u):$(id -g):Airflow:$AIRFLOW_HOME:/bin/false" > "$NSS_WRAPPER_PASSWD" + echo "airflow:x:$(id -g):" > "$NSS_WRAPPER_GROUP" + fi + + nami_initialize airflow + info "Starting airflow... " +fi + +exec tini -- "$@" diff --git a/bitnami/airflow/1/ol-7/rootfs/run.sh b/bitnami/airflow/1/ol-7/rootfs/run.sh new file mode 100755 index 000000000000..bb45736cf874 --- /dev/null +++ b/bitnami/airflow/1/ol-7/rootfs/run.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +. /opt/bitnami/base/functions +. /opt/bitnami/base/helpers + +USER=airflow +DAEMON=airflow +EXEC=$(which $DAEMON) +START_COMMAND="${EXEC} webserver | tee /opt/bitnami/airflow/logs/airflow-webserver.log " + +info "Starting ${DAEMON}..." +# If container is started as `root` user +if [ $EUID -eq 0 ]; then + exec gosu ${USER} bash -c "${START_COMMAND}" +else + exec bash -c "${START_COMMAND}" +fi diff --git a/bitnami/airflow/README.md b/bitnami/airflow/README.md index 6c1552e60dfc..0b0f4bcde896 100644 --- a/bitnami/airflow/README.md +++ b/bitnami/airflow/README.md @@ -30,8 +30,8 @@ $ docker-compose up Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/containers/how-to/understand-rolling-tags-containers/). +* [`1-ol-7`, `1.10.2-ol-7-r0` (1/ol-7/Dockerfile)](https://github.com/bitnami/bitnami-docker-airflow/blob/1.10.2-ol-7-r0/1/ol-7/Dockerfile) * [`1-debian-9`, `1.10.2-debian-9-r0`, `1`, `1.10.2`, `1.10.2-r0`, `latest` (1/debian-9/Dockerfile)](https://github.com/bitnami/bitnami-docker-airflow/blob/1.10.2-debian-9-r0/1/debian-9/Dockerfile) -* [`1-ol-7`, `0.0.0-ol-7-r0` (1/ol-7/Dockerfile)](https://github.com/bitnami/bitnami-docker-airflow/blob/0.0.0-ol-7-r0/1/ol-7/Dockerfile) Subscribe to project updates by watching the [bitnami/airflow GitHub repo](https://github.com/bitnami/bitnami-docker-airflow).