ops(sched-pipelines): локальный стенд sched + ym/ozon воркеры + browser/ntfy/alert-bridge; ТЗ разосланы
This commit is contained in:
32
host-stacks/local/sched-pipelines/ozon.Dockerfile
Normal file
32
host-stacks/local/sched-pipelines/ozon.Dockerfile
Normal file
@@ -0,0 +1,32 @@
|
||||
# Локальная копия service/Dockerfile из ozon-seller-api-client с фиксом:
|
||||
# `COPY state.json ./state.json 2>/dev/null || true` — шелл-синтаксис в COPY не валиден,
|
||||
# docker падает «"/2>/dev/null": not found». state.json в контексте есть, копируем напрямую.
|
||||
FROM node:22-alpine
|
||||
|
||||
RUN apk add --no-cache openjdk21-jre-headless git
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY package.json package-lock.json ./
|
||||
# lock пинит yaml на verdaccio (локальный .npmrc хоста имеет токен, контейнер — нет)
|
||||
ARG VERDACCIO_TOKEN
|
||||
RUN npm config set //verdaccio.kzntsv.site/:_authToken=${VERDACCIO_TOKEN} \
|
||||
&& npm ci --no-audit --no-fund || npm install --no-audit --no-fund
|
||||
|
||||
COPY service/ ./service/
|
||||
COPY generator/ ./generator/
|
||||
COPY test/ ./test/
|
||||
COPY LICENSE ./
|
||||
COPY state.json ./state.json
|
||||
|
||||
ENV NODE_ENV=production
|
||||
ENV WORKER_PORT=8080
|
||||
ENV WORKER_TOKEN=
|
||||
|
||||
# крон-расписание (формат node-cron): в стеке переопределяется на «никогда» —
|
||||
# расписанием рулит sched daemon
|
||||
ENV CRON_SCHEDULE="0 0 31 2 *"
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
CMD ["node", "service/entrypoint.js"]
|
||||
Reference in New Issue
Block a user