dify-api (latest)
Published 2025-02-18 06:21:08 +00:00 by ericxia
Installation
docker pull git.hollshi.com/langgenius/dify-api:latestsha256:5537b8966c3d1f0cee48df8c904195fbd37752385e4189f1940026d909092b0dAbout this package
Dify is an open-source LLM app development platform. Dify's intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production.
Image Layers
| # debian.sh --arch 'amd64' out/ 'bookworm' '@1738540800' |
| ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| ENV LANG=C.UTF-8 |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; rm -rf /var/lib/apt/lists/* # buildkit |
| ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305 |
| ENV PYTHON_VERSION=3.12.9 |
| ENV PYTHON_SHA256=7220835d9f90b37c006e9842a8dff4580aaca4318674f947302b8d28f3f81112 |
| RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared --with-lto --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; case "$arch" in amd64|arm64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; i386) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit |
| RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit |
| CMD ["python3"] |
| WORKDIR /app/api |
| ENV POETRY_VERSION=2.0.1 |
| RUN /bin/sh -c pip install --no-cache-dir poetry==${POETRY_VERSION} # buildkit |
| ENV POETRY_CACHE_DIR=/tmp/poetry_cache |
| ENV POETRY_NO_INTERACTION=1 |
| ENV POETRY_VIRTUALENVS_IN_PROJECT=true |
| ENV POETRY_VIRTUALENVS_CREATE=true |
| ENV POETRY_REQUESTS_TIMEOUT=15 |
| ENV FLASK_APP=app.py |
| ENV EDITION=SELF_HOSTED |
| ENV DEPLOY_ENV=PRODUCTION |
| ENV CONSOLE_API_URL=http://127.0.0.1:5001 |
| ENV CONSOLE_WEB_URL=http://127.0.0.1:3000 |
| ENV SERVICE_API_URL=http://127.0.0.1:5001 |
| ENV APP_WEB_URL=http://127.0.0.1:3000 |
| EXPOSE map[5001/tcp:{}] |
| ENV TZ=UTC |
| WORKDIR /app/api |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends curl nodejs libgmp-dev libmpfr-dev libmpc-dev expat libldap-2.5-0 perl libsqlite3-0 zlib1g fonts-noto-cjk libmagic1 && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* # buildkit |
| ENV VIRTUAL_ENV=/app/api/.venv |
| COPY /app/api/.venv /app/api/.venv # buildkit |
| ENV PATH=/app/api/.venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| RUN /bin/sh -c python -c "import nltk; nltk.download('punkt'); nltk.download('averaged_perceptron_tagger')" # buildkit |
| COPY . /app/api/ # buildkit |
| COPY docker/entrypoint.sh /entrypoint.sh # buildkit |
| RUN /bin/sh -c chmod +x /entrypoint.sh # buildkit |
| ARG COMMIT_SHA=ca19bd31d42fb87c83b91541c473ebae85e9d14e |
| ENV COMMIT_SHA=ca19bd31d42fb87c83b91541c473ebae85e9d14e |
| ENTRYPOINT ["/bin/bash" "/entrypoint.sh"] |
Labels
| Key | Value |
|---|---|
| org.opencontainers.image.created | 2025-02-07T07:21:13.878Z |
| org.opencontainers.image.description | Dify is an open-source LLM app development platform. Dify's intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production. |
| org.opencontainers.image.licenses | NOASSERTION |
| org.opencontainers.image.revision | ca19bd31d42fb87c83b91541c473ebae85e9d14e |
| org.opencontainers.image.source | https://github.com/langgenius/dify |
| org.opencontainers.image.title | dify |
| org.opencontainers.image.url | https://github.com/langgenius/dify |
| org.opencontainers.image.version | 0.15.3 |