diff --git a/dockers/docker-compose.yaml b/dockers/docker-compose.yaml index a9de206505b67aa9aa27108fff50029cb311c4bc..45e7ccbcddb2f3ac054eb4c2bf487494ef59a6d8 100644 --- a/dockers/docker-compose.yaml +++ b/dockers/docker-compose.yaml @@ -64,8 +64,6 @@ x-airflow-common: - ./config/airflow.cfg:/opt/airflow/airflow.cfg - /persistent_data/logs:/opt/airflow/logs - ./plugins:/opt/airflow/plugins - - ./templates/main.html:/home/airflow/.local/lib/python3.7/site-packages/airflow/www/templates/airflow/main.html - - ./templates/img/BMBF_gefoerdert_2017_en.jpg:/home/airflow/.local/lib/python3.7/site-packages/airflow/www/static/BMBF_gefoerdert_2017_en.jpg user: "${AIRFLOW_UID:-50000}:0" depends_on: &airflow-common-depends-on @@ -116,7 +114,7 @@ services: - postgres-db-volume:/var/lib/postgresql/data healthcheck: test: ["CMD", "pg_isready", "-U", "airflow"] - interval: 5s + interval: 60s retries: 5 restart: always @@ -126,7 +124,7 @@ services: - 6379 healthcheck: test: ["CMD", "redis-cli", "ping"] - interval: 5s + interval: 60s timeout: 30s retries: 50 restart: always @@ -220,62 +218,6 @@ services: command: - -c - | - function ver() { - printf "%04d%04d%04d%04d" $${1//./ } - } - airflow_version=$$(gosu airflow airflow version) - airflow_version_comparable=$$(ver $${airflow_version}) - min_airflow_version=2.2.0 - min_airflow_version_comparable=$$(ver $${min_airflow_version}) - if (( airflow_version_comparable < min_airflow_version_comparable )); then - echo - echo -e "\033[1;31mERROR!!!: Too old Airflow version $${airflow_version}!\e[0m" - echo "The minimum Airflow version supported: $${min_airflow_version}. Only use this or higher!" - echo - exit 1 - fi - if [[ -z "${AIRFLOW_UID}" ]]; then - echo - echo -e "\033[1;33mWARNING!!!: AIRFLOW_UID not set!\e[0m" - echo "If you are on Linux, you SHOULD follow the instructions below to set " - echo "AIRFLOW_UID environment variable, otherwise files will be owned by root." - echo "For other operating systems you can get rid of the warning with manually created .env file:" - echo " See: https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html#setting-the-right-airflow-user" - echo - fi - one_meg=1048576 - mem_available=$$(($$(getconf _PHYS_PAGES) * $$(getconf PAGE_SIZE) / one_meg)) - cpus_available=$$(grep -cE 'cpu[0-9]+' /proc/stat) - disk_available=$$(df / | tail -1 | awk '{print $$4}') - warning_resources="false" - if (( mem_available < 4000 )) ; then - echo - echo -e "\033[1;33mWARNING!!!: Not enough memory available for Docker.\e[0m" - echo "At least 4GB of memory required. You have $$(numfmt --to iec $$((mem_available * one_meg)))" - echo - warning_resources="true" - fi - if (( cpus_available < 2 )); then - echo - echo -e "\033[1;33mWARNING!!!: Not enough CPUS available for Docker.\e[0m" - echo "At least 2 CPUs recommended. You have $${cpus_available}" - echo - warning_resources="true" - fi - if (( disk_available < one_meg * 10 )); then - echo - echo -e "\033[1;33mWARNING!!!: Not enough Disk space available for Docker.\e[0m" - echo "At least 10 GBs recommended. You have $$(numfmt --to iec $$((disk_available * 1024 )))" - echo - warning_resources="true" - fi - if [[ $${warning_resources} == "true" ]]; then - echo - echo -e "\033[1;33mWARNING!!!: You have not enough resources to run Airflow (see above)!\e[0m" - echo "Please follow the instructions to increase amount of resources available:" - echo " https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html#before-you-begin" - echo - fi mkdir -p /sources/logs /sources/dags /sources/plugins chown -R "${AIRFLOW_UID}:0" /sources/{logs,dags,plugins} exec /entrypoint airflow version diff --git a/dockers/eflows-airflow.docker b/dockers/eflows-airflow.docker index 7aae52533bf7c8155acb76f1fac2eeb3f30ceb54..df0e2737d5b27c6c056c49c5c2e08dec3fac995a 100644 --- a/dockers/eflows-airflow.docker +++ b/dockers/eflows-airflow.docker @@ -1,9 +1,11 @@ -FROM apache/airflow:2.2.3 +FROM apache/airflow:2.2.5 USER root -RUN apt update && apt install git -y +RUN apt update && apt install git -y && apt clean && rm -rf /var/lib/apt/lists/* +COPY ./templates/main.html /home/airflow/.local/lib/python3.7/site-packages/airflow/www/templates/airflow/main.html +COPY ./templates/img/BMBF_gefoerdert_2017_en.jpg /home/airflow/.local/lib/python3.7/site-packages/airflow/www/static/BMBF_gefoerdert_2017_en.jpg USER airflow -RUN pip --version +RUN pip --version && python -m pip install --upgrade pip ADD requirements.txt /requirements.txt -RUN pip install -r /requirements.txt +RUN pip install -r /requirements.txt \ No newline at end of file