From d21cc09109948181396dae00cef49ac86f0bb212 Mon Sep 17 00:00:00 2001 From: Celes Renata Date: Sun, 19 Apr 2026 09:41:28 +0000 Subject: [PATCH] fix: hardcode Harbor cache URLs in FROM lines to bypass Docker Hub rate limits --- .woodpecker.yml | 26 ++++++++++++-------------- docker/Dockerfile | 3 +-- docker/Dockerfile.superset | 3 +-- frontend/Dockerfile | 6 ++---- 4 files changed, 16 insertions(+), 22 deletions(-) diff --git a/.woodpecker.yml b/.woodpecker.yml index b868c2f..57b216d 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -60,7 +60,7 @@ steps: - latest dockerfile: docker/Dockerfile context: . - build_args: "SERVICE_CMD=python -m services.scheduler.app,BASE_REGISTRY=registry.celestium.life/dockerhub-cache" + build_args: "SERVICE_CMD=python -m services.scheduler.app" when: event: push branch: main @@ -99,7 +99,7 @@ steps: - latest dockerfile: docker/Dockerfile context: . - build_args: "SERVICE_CMD=uvicorn services.symbol_registry.app:app --host 0.0.0.0 --port 8000,BASE_REGISTRY=registry.celestium.life/dockerhub-cache" + build_args: "SERVICE_CMD=uvicorn services.symbol_registry.app:app --host 0.0.0.0 --port 8000" when: event: push branch: main @@ -138,7 +138,7 @@ steps: - latest dockerfile: docker/Dockerfile context: . - build_args: "SERVICE_CMD=python -m services.ingestion.worker,BASE_REGISTRY=registry.celestium.life/dockerhub-cache" + build_args: "SERVICE_CMD=python -m services.ingestion.worker" when: event: push branch: main @@ -177,7 +177,7 @@ steps: - latest dockerfile: docker/Dockerfile context: . - build_args: "SERVICE_CMD=python -m services.parser.worker,BASE_REGISTRY=registry.celestium.life/dockerhub-cache" + build_args: "SERVICE_CMD=python -m services.parser.worker" when: event: push branch: main @@ -216,7 +216,7 @@ steps: - latest dockerfile: docker/Dockerfile context: . - build_args: "SERVICE_CMD=python -m services.extractor.worker,BASE_REGISTRY=registry.celestium.life/dockerhub-cache" + build_args: "SERVICE_CMD=python -m services.extractor.worker" when: event: push branch: main @@ -255,7 +255,7 @@ steps: - latest dockerfile: docker/Dockerfile context: . - build_args: "SERVICE_CMD=python -m services.aggregation.worker,BASE_REGISTRY=registry.celestium.life/dockerhub-cache" + build_args: "SERVICE_CMD=python -m services.aggregation.worker" when: event: push branch: main @@ -294,7 +294,7 @@ steps: - latest dockerfile: docker/Dockerfile context: . - build_args: "SERVICE_CMD=python -m services.recommendation.worker,BASE_REGISTRY=registry.celestium.life/dockerhub-cache" + build_args: "SERVICE_CMD=python -m services.recommendation.worker" when: event: push branch: main @@ -333,7 +333,7 @@ steps: - latest dockerfile: docker/Dockerfile context: . - build_args: "SERVICE_CMD=uvicorn services.risk.app:app --host 0.0.0.0 --port 8000,BASE_REGISTRY=registry.celestium.life/dockerhub-cache" + build_args: "SERVICE_CMD=uvicorn services.risk.app:app --host 0.0.0.0 --port 8000" when: event: push branch: main @@ -372,7 +372,7 @@ steps: - latest dockerfile: docker/Dockerfile context: . - build_args: "SERVICE_CMD=python -m services.adapters.broker_adapter,BASE_REGISTRY=registry.celestium.life/dockerhub-cache" + build_args: "SERVICE_CMD=python -m services.adapters.broker_adapter" when: event: push branch: main @@ -411,7 +411,7 @@ steps: - latest dockerfile: docker/Dockerfile context: . - build_args: "SERVICE_CMD=python -m services.lake_publisher.worker,BASE_REGISTRY=registry.celestium.life/dockerhub-cache" + build_args: "SERVICE_CMD=python -m services.lake_publisher.worker" when: event: push branch: main @@ -450,7 +450,7 @@ steps: - latest dockerfile: docker/Dockerfile context: . - build_args: "SERVICE_CMD=uvicorn services.api.app:app --host 0.0.0.0 --port 8000,BASE_REGISTRY=registry.celestium.life/dockerhub-cache" + build_args: "SERVICE_CMD=uvicorn services.api.app:app --host 0.0.0.0 --port 8000" when: event: push branch: main @@ -489,7 +489,7 @@ steps: - latest dockerfile: docker/Dockerfile context: . - build_args: "SERVICE_CMD=uvicorn services.trading.app:app --host 0.0.0.0 --port 8000,BASE_REGISTRY=registry.celestium.life/dockerhub-cache" + build_args: "SERVICE_CMD=uvicorn services.trading.app:app --host 0.0.0.0 --port 8000" when: event: push branch: main @@ -529,7 +529,6 @@ steps: dockerfile: frontend/Dockerfile context: frontend no_cache: true - build_args: "BASE_REGISTRY=registry.celestium.life/dockerhub-cache" when: event: push @@ -569,7 +568,6 @@ steps: - latest dockerfile: docker/Dockerfile.superset context: docker - build_args: "BASE_REGISTRY=registry.celestium.life/dockerhub-cache" when: event: push branch: main diff --git a/docker/Dockerfile b/docker/Dockerfile index 775131e..8cfd33b 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,6 +1,5 @@ # Base image: uses Harbor proxy cache in CI, falls back to Docker Hub externally -ARG BASE_REGISTRY=docker.io -FROM ${BASE_REGISTRY}/library/python:3.12-slim +FROM registry.celestium.life/dockerhub-cache/library/python:3.12-slim ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 diff --git a/docker/Dockerfile.superset b/docker/Dockerfile.superset index adb28a3..2d2153b 100644 --- a/docker/Dockerfile.superset +++ b/docker/Dockerfile.superset @@ -1,7 +1,6 @@ # Custom Superset image with Trino, PostgreSQL, and Redis drivers # Base image: uses Harbor proxy cache in CI, falls back to Docker Hub externally -ARG BASE_REGISTRY=docker.io -FROM ${BASE_REGISTRY}/apache/superset:latest +FROM registry.celestium.life/dockerhub-cache/apache/superset:latest USER root RUN /app/docker/pip-install.sh --no-cache trino[sqlalchemy] psycopg2-binary redis diff --git a/frontend/Dockerfile b/frontend/Dockerfile index c15b1ba..cea5c55 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -1,7 +1,6 @@ # Stage 1: Build # Base images: uses Harbor proxy cache in CI, falls back to Docker Hub externally -ARG BASE_REGISTRY=docker.io -FROM ${BASE_REGISTRY}/library/node:24-alpine AS build +FROM registry.celestium.life/dockerhub-cache/library/node:24-alpine AS build WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci @@ -12,8 +11,7 @@ ARG VITE_RISK_ENGINE_URL="" RUN npm run build # Stage 2: Serve (unprivileged nginx, runs as uid 101, port 8080) -ARG BASE_REGISTRY=docker.io -FROM ${BASE_REGISTRY}/nginxinc/nginx-unprivileged:alpine +FROM registry.celestium.life/dockerhub-cache/nginxinc/nginx-unprivileged:alpine COPY --from=build /app/dist /usr/share/nginx/html COPY nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 8080