Files
soroushasadi/docker-compose.yml
T
soroush.asadi 13241612fe Fix mirror hostname and protocol (soroushasad.com, HTTP)
All references updated from mirror.soroushasadi.com (https) to
mirror.soroushasad.com (http):
  - .npmrc: registry uses http://
  - Dockerfile: syntax frontend + NODE_IMAGE ARG + npm auth line
  - docker-compose.yml: NODE_IMAGE default
  - deploy.yml: docker login/logout + NODE_IMAGE env
  - ci.yml: container image + NODE_IMAGE build-arg + npm auth line

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 13:47:18 +03:30

36 lines
983 B
YAML

name: soroushasadi
services:
web:
build:
context: .
dockerfile: Dockerfile
args:
NODE_IMAGE: ${NODE_IMAGE:-mirror.soroushasad.com/repository/docker-group/node:20-slim}
NPM_TOKEN: ${NPM_TOKEN:-}
image: soroushasadi-site:latest
container_name: soroushasadi-site
restart: unless-stopped
ports:
- "3000:3000"
environment:
NODE_ENV: production
DATA_DIR: /data
ADMIN_PASSWORD: ${ADMIN_PASSWORD:?set ADMIN_PASSWORD}
ADMIN_SESSION_SECRET: ${ADMIN_SESSION_SECRET:?set ADMIN_SESSION_SECRET}
RESEND_API_KEY: ${RESEND_API_KEY:-}
CONTACT_INBOX: ${CONTACT_INBOX:-}
CONTACT_FROM: ${CONTACT_FROM:-}
volumes:
- cms-data:/data
healthcheck:
test: ["CMD", "node", "-e",
"fetch('http://127.0.0.1:3000/').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
volumes:
cms-data: