Namespace
zhulinsen
Image / Tag
daily_stock_analysis:sha-35c10865072068d778f78be9623cb6915d846539
Content Digest
sha256:7b74a32dd1ff88f897701b5ef602a90c2a60bfd40ef20b1097e7698ffbeb8923
Details
Created

2026-05-21 15:25:53 UTC

Size

425 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2026-05-21T15:22:02.656Z
  • org.opencontainers.image.description
    LLM驱动的 A/H/美股智能分析:多数据源行情 + 实时新闻 + LLM决策仪表盘 + 多渠道推送,零成本定时运行,纯白嫖. LLM-powered stock analysis system for A/H/US markets.
  • org.opencontainers.image.licenses
    MIT
  • org.opencontainers.image.revision
    35c10865072068d778f78be9623cb6915d846539
  • org.opencontainers.image.source
    https://github.com/ZhuLinsen/daily_stock_analysis
  • org.opencontainers.image.title
    daily_stock_analysis
  • org.opencontainers.image.url
    https://github.com/ZhuLinsen/daily_stock_analysis
  • org.opencontainers.image.version
    v3.18.0

Environment
API_PORT

8000

DATABASE_PATH

/app/data/stock_analysis.db

GPG_KEY

A035C8C19219BA821ECEA86B64E628F8D684696D

LANG

C.UTF-8

LOG_DIR

/app/logs

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PYTHONUNBUFFERED

1

PYTHON_SHA256

272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625

PYTHON_VERSION

3.11.15

TZ

Asia/Shanghai

WEBUI_HOST

0.0.0.0


Layers

[#000] sha256:068fedd6b0f109b8186d00d49327b6fc6747c428fd3c9a8739424ff5f38d7531 - 6.34% (26.9 MB)

[#001] sha256:1c23e389790426bfcee3a40b799e08430a86e79a77cc590c1f3adbcf473efebe - 0.79% (3.36 MB)

[#002] sha256:89bf18422c9cf5f29d07b8af72df31bd0edb6b31ec4bd57b4777a00eee4a8b28 - 3.58% (15.2 MB)

[#003] sha256:b323b53a19e2208b498bd0f55473a1dc9498460583e3c9fbd268f1dddffddd6a - 0.0% (249 Bytes)

[#004] sha256:29038219718997c56fd0afafc503536dd5db150111c2b3e2103b772cf89d8b7b - 0.0% (92 Bytes)

[#005] sha256:5fc736c110956aa8dc854793f278bffd81fe7ca9517c3265896cb4786632d350 - 0.0% (192 Bytes)

[#006] sha256:4074c4be87a89be39acdf6c310fe410dfa73239f99df358db8ff0d8588729bfa - 41.59% (177 MB)

[#007] sha256:0d673a1ebf8849dabb34da8a7338f2ef08f471f0059636d5ef652716a0c698f5 - 0.0% (3.23 KB)

[#008] sha256:2b97d0f1957a1d1af93edcd8352012c6fb7018c006dc5662a793bfbac6645b3b - 0.0% (1.95 KB)

[#009] sha256:af6524ed92c46283600f3768f74c22596f4488d5cae5cc66dc95bda3060b269f - 46.17% (196 MB)

[#010] sha256:c86f7127cb58b26708337e1810e8064744ecc32757d996644bf84fd4b015bee7 - 0.0% (11.3 KB)

[#011] sha256:02ed79c68ae0abaf96d7739a649b70fa24c410d5e554647861d90a682b82b3c0 - 0.04% (165 KB)

[#012] sha256:cdf5128933de059d3fde2e0db3a37ed8212391e62d95689ea8c931739d592af9 - 0.08% (351 KB)

[#013] sha256:bcd97396304a21a85682dc9f49290564ecb22241293f35691a311176b085976f - 0.03% (148 KB)

[#014] sha256:7670c894f4e12da85892f1e36cd0b9f5644286295977888a976976c97127759d - 0.37% (1.57 MB)

[#015] sha256:a13f3ef4229b6c3e7f18b37f892d1c090d44d0d440f939507e615d765fdf844a - 0.0% (14.2 KB)

[#016] sha256:fd18d604dff0cee13988de9d7ddab180be8adbb354e65aef5cc1ca7b2e0f6eda - 0.23% (1010 KB)

[#017] sha256:9d8cf9bbf07666f128088ad46e145b0526ce1c8b793fd2f6b41a7221c5f8f412 - 0.0% (1.02 KB)

[#018] sha256:4ac234814610f14ab8455ef280eb92ba4c40f94a6742f5b2315b4274412600f7 - 0.76% (3.24 MB)


History
2026-05-18 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'amd64' out/ 'bookworm' '@1779062400'

2026-05-19 23:43:59 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-05-19 23:43:59 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-05-19 23:43:59 UTC (buildkit.dockerfile.v0)

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

2026-05-19 23:43:59 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D

2026-05-19 23:43:59 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.11.15

2026-05-19 23:43:59 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625

2026-05-19 23:52:32 UTC (buildkit.dockerfile.v0)

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 $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; 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 -rt dpkg-query --search | awk 'sub(":$", "", $1) { print $1 }' | 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 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==79.0.1' 'wheel<0.46' ; pip3 --version # buildkit

2026-05-19 23:52:32 UTC (buildkit.dockerfile.v0)

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

2026-05-19 23:52:32 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-05-21 15:23:52 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-05-21 15:23:52 UTC (buildkit.dockerfile.v0)

ENV TZ=Asia/Shanghai

2026-05-21 15:23:52 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # buildkit

2026-05-21 15:24:25 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends gcc curl gosu wkhtmltopdf fontconfig libjpeg62-turbo libxrender1 libxext6 && rm -rf /var/lib/apt/lists/* # buildkit

2026-05-21 15:24:25 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c groupadd -g 1000 dsa && useradd -u 1000 -g dsa -m dsa # buildkit

2026-05-21 15:24:25 UTC (buildkit.dockerfile.v0)

COPY requirements.txt . # buildkit

2026-05-21 15:25:52 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c pip install --no-cache-dir -r requirements.txt # buildkit

2026-05-21 15:25:52 UTC (buildkit.dockerfile.v0)

COPY *.py ./ # buildkit

2026-05-21 15:25:52 UTC (buildkit.dockerfile.v0)

COPY api/ ./api/ # buildkit

2026-05-21 15:25:52 UTC (buildkit.dockerfile.v0)

COPY data_provider/ ./data_provider/ # buildkit

2026-05-21 15:25:52 UTC (buildkit.dockerfile.v0)

COPY bot/ ./bot/ # buildkit

2026-05-21 15:25:53 UTC (buildkit.dockerfile.v0)

COPY src/ ./src/ # buildkit

2026-05-21 15:25:53 UTC (buildkit.dockerfile.v0)

COPY strategies/ ./strategies/ # buildkit

2026-05-21 15:25:53 UTC (buildkit.dockerfile.v0)

COPY /app/static ./static/ # buildkit

2026-05-21 15:25:53 UTC (buildkit.dockerfile.v0)

COPY docker/entrypoint.sh /usr/local/bin/docker-entrypoint.sh # buildkit

2026-05-21 15:25:53 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir -p /app/data /app/logs /app/reports && chown -R dsa:dsa /app && chmod +x /usr/local/bin/docker-entrypoint.sh # buildkit

2026-05-21 15:25:53 UTC (buildkit.dockerfile.v0)

ENV PYTHONUNBUFFERED=1

2026-05-21 15:25:53 UTC (buildkit.dockerfile.v0)

ENV LOG_DIR=/app/logs

2026-05-21 15:25:53 UTC (buildkit.dockerfile.v0)

ENV DATABASE_PATH=/app/data/stock_analysis.db

2026-05-21 15:25:53 UTC (buildkit.dockerfile.v0)

ENV WEBUI_HOST=0.0.0.0

2026-05-21 15:25:53 UTC (buildkit.dockerfile.v0)

ENV API_PORT=8000

2026-05-21 15:25:53 UTC (buildkit.dockerfile.v0)

EXPOSE [8000/tcp]

2026-05-21 15:25:53 UTC (buildkit.dockerfile.v0)

VOLUME [/app/data /app/logs /app/reports]

2026-05-21 15:25:53 UTC (buildkit.dockerfile.v0)

HEALTHCHECK {Test:[CMD-SHELL curl -f http://localhost:8000/api/health || curl -f http://localhost:8000/health || python -c "import sys; sys.exit(0)"] Interval:30s Timeout:10s StartPeriod:10s StartInterval:0s Retries:3}

2026-05-21 15:25:53 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]

2026-05-21 15:25:53 UTC (buildkit.dockerfile.v0)

CMD ["python" "main.py" "--schedule"]

Details
Created

2026-05-21 15:37:56 UTC

Size

414 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2026-05-21T15:22:02.656Z
  • org.opencontainers.image.description
    LLM驱动的 A/H/美股智能分析:多数据源行情 + 实时新闻 + LLM决策仪表盘 + 多渠道推送,零成本定时运行,纯白嫖. LLM-powered stock analysis system for A/H/US markets.
  • org.opencontainers.image.licenses
    MIT
  • org.opencontainers.image.revision
    35c10865072068d778f78be9623cb6915d846539
  • org.opencontainers.image.source
    https://github.com/ZhuLinsen/daily_stock_analysis
  • org.opencontainers.image.title
    daily_stock_analysis
  • org.opencontainers.image.url
    https://github.com/ZhuLinsen/daily_stock_analysis
  • org.opencontainers.image.version
    v3.18.0

Environment
API_PORT

8000

DATABASE_PATH

/app/data/stock_analysis.db

GPG_KEY

A035C8C19219BA821ECEA86B64E628F8D684696D

LANG

C.UTF-8

LOG_DIR

/app/logs

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PYTHONUNBUFFERED

1

PYTHON_SHA256

272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625

PYTHON_VERSION

3.11.15

TZ

Asia/Shanghai

WEBUI_HOST

0.0.0.0


Layers

[#000] sha256:f400d36d7784570c9fb7558e367d2b5d38e8b2f1d6faee041815acea7f87e669 - 6.47% (26.8 MB)

[#001] sha256:ae85f80de19a95447035673506a86aca8b0415f269b43a8535236c3320d04375 - 0.77% (3.2 MB)

[#002] sha256:775f62d3f67010227ca1f1db54a6016a9e19b7c80ed81697a9706bcab714431a - 3.65% (15.1 MB)

[#003] sha256:af711a5378390f945cb7d896ce79546204ad77a5fe3f4baaba96b50089ec3d20 - 0.0% (250 Bytes)

[#004] sha256:29038219718997c56fd0afafc503536dd5db150111c2b3e2103b772cf89d8b7b - 0.0% (92 Bytes)

[#005] sha256:5fc736c110956aa8dc854793f278bffd81fe7ca9517c3265896cb4786632d350 - 0.0% (192 Bytes)

[#006] sha256:6238f8c90ad2d2e133ce46c9e73f321e6836ad5a861cda2b5c223b8fc28e3e3a - 41.01% (170 MB)

[#007] sha256:7454ba51e668e051d0714df521690d82729de240cc0927084c69a8e071bf3188 - 0.0% (3.23 KB)

[#008] sha256:ae7eafcd4350fbb326281767a4d9699a341ec9c5f66e954627b1ff18f520c2b1 - 0.0% (1.95 KB)

[#009] sha256:87aa05da10428ac1e8bbfe7865657a1c2fbff74710facacb16b34669b2192e9c - 46.52% (193 MB)

[#010] sha256:e9e2b7cb3c55a3f8e04ad318d1a0d787aaa1e055f48c8fb345b16457cdb4545d - 0.0% (11.3 KB)

[#011] sha256:1ce27426883de6de53764b79a918c64a77880a6807fdfa874effa68dbf7e517a - 0.04% (165 KB)

[#012] sha256:e46d840a08d773a9bbd8b4a9c3e6dd4c3313e0211ecf0a463bf40ac166c8ae33 - 0.08% (351 KB)

[#013] sha256:2505d037ec3e5bbddb986099a4ba1c5286f66440623425c34a48e7d9450baca0 - 0.03% (148 KB)

[#014] sha256:ca208cca24a967974efda061ca2592ee3c6cb44fc49627bee5d58f87ad2832af - 0.38% (1.57 MB)

[#015] sha256:dd216a1e8da3157d9784aa603688960357c918ff24b5ecf898f3c04a10b9828e - 0.0% (14.2 KB)

[#016] sha256:aa522d18e318aeae56730110539477f74409cd45d2b94101e1c913e6d6f11427 - 0.24% (1010 KB)

[#017] sha256:439fdcd1837f25a408d297e6a5998da4cf4b811509ed39c9f8b3ad9b281730cf - 0.0% (1.03 KB)

[#018] sha256:734193eed6bb6104b4786fcdf158480bdab7c1b4bbfecfbc7e448bb2f3de5745 - 0.78% (3.24 MB)


History
2026-05-18 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'arm64' out/ 'bookworm' '@1779062400'

2026-05-19 23:48:02 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-05-19 23:48:02 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-05-19 23:48:02 UTC (buildkit.dockerfile.v0)

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

2026-05-19 23:48:02 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D

2026-05-19 23:48:02 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.11.15

2026-05-19 23:48:02 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625

2026-05-19 23:59:12 UTC (buildkit.dockerfile.v0)

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 $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; 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 -rt dpkg-query --search | awk 'sub(":$", "", $1) { print $1 }' | 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 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==79.0.1' 'wheel<0.46' ; pip3 --version # buildkit

2026-05-19 23:59:12 UTC (buildkit.dockerfile.v0)

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

2026-05-19 23:59:12 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-05-21 15:23:52 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-05-21 15:23:52 UTC (buildkit.dockerfile.v0)

ENV TZ=Asia/Shanghai

2026-05-21 15:23:52 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # buildkit

2026-05-21 15:27:20 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends gcc curl gosu wkhtmltopdf fontconfig libjpeg62-turbo libxrender1 libxext6 && rm -rf /var/lib/apt/lists/* # buildkit

2026-05-21 15:27:20 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c groupadd -g 1000 dsa && useradd -u 1000 -g dsa -m dsa # buildkit

2026-05-21 15:27:20 UTC (buildkit.dockerfile.v0)

COPY requirements.txt . # buildkit

2026-05-21 15:37:55 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c pip install --no-cache-dir -r requirements.txt # buildkit

2026-05-21 15:37:55 UTC (buildkit.dockerfile.v0)

COPY *.py ./ # buildkit

2026-05-21 15:37:55 UTC (buildkit.dockerfile.v0)

COPY api/ ./api/ # buildkit

2026-05-21 15:37:55 UTC (buildkit.dockerfile.v0)

COPY data_provider/ ./data_provider/ # buildkit

2026-05-21 15:37:55 UTC (buildkit.dockerfile.v0)

COPY bot/ ./bot/ # buildkit

2026-05-21 15:37:56 UTC (buildkit.dockerfile.v0)

COPY src/ ./src/ # buildkit

2026-05-21 15:37:56 UTC (buildkit.dockerfile.v0)

COPY strategies/ ./strategies/ # buildkit

2026-05-21 15:37:56 UTC (buildkit.dockerfile.v0)

COPY /app/static ./static/ # buildkit

2026-05-21 15:37:56 UTC (buildkit.dockerfile.v0)

COPY docker/entrypoint.sh /usr/local/bin/docker-entrypoint.sh # buildkit

2026-05-21 15:37:56 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir -p /app/data /app/logs /app/reports && chown -R dsa:dsa /app && chmod +x /usr/local/bin/docker-entrypoint.sh # buildkit

2026-05-21 15:37:56 UTC (buildkit.dockerfile.v0)

ENV PYTHONUNBUFFERED=1

2026-05-21 15:37:56 UTC (buildkit.dockerfile.v0)

ENV LOG_DIR=/app/logs

2026-05-21 15:37:56 UTC (buildkit.dockerfile.v0)

ENV DATABASE_PATH=/app/data/stock_analysis.db

2026-05-21 15:37:56 UTC (buildkit.dockerfile.v0)

ENV WEBUI_HOST=0.0.0.0

2026-05-21 15:37:56 UTC (buildkit.dockerfile.v0)

ENV API_PORT=8000

2026-05-21 15:37:56 UTC (buildkit.dockerfile.v0)

EXPOSE [8000/tcp]

2026-05-21 15:37:56 UTC (buildkit.dockerfile.v0)

VOLUME [/app/data /app/logs /app/reports]

2026-05-21 15:37:56 UTC (buildkit.dockerfile.v0)

HEALTHCHECK {Test:[CMD-SHELL curl -f http://localhost:8000/api/health || curl -f http://localhost:8000/health || python -c "import sys; sys.exit(0)"] Interval:30s Timeout:10s StartPeriod:10s StartInterval:0s Retries:3}

2026-05-21 15:37:56 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]

2026-05-21 15:37:56 UTC (buildkit.dockerfile.v0)

CMD ["python" "main.py" "--schedule"]

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.

Delete