soroush.asadi
345ae0a4b5
first commit
CI/CD / CI · Admin API (dotnet build) (push) Successful in 41s
CI/CD / CI · Admin Web (tsc) (push) Failing after 5s
CI/CD / CI · Website (tsc) (push) Failing after 4s
CI/CD / CI · Koja (tsc) (push) Failing after 5s
CI/CD / CI · API (dotnet build + test) (push) Successful in 1m13s
CI/CD / CI · Dashboard (tsc) (push) Failing after 2m32s
CI/CD / Deploy · all services (push) Has been skipped
2026-05-31 11:06:24 +03:30
soroush.asadi
720bab457e
feat(mirror): add Liara npm/PyPI/Ubuntu APT mirrors to Nexus
...
Adds mirrors/nexus/add-liara-mirrors.sh that provisions:
- npm-liara-proxy → https://package-mirror.liara.ir/repository/npm/
- npm-group → npm-liara-proxy + npm-proxy (Liara first, Runflare fallback)
- pypi-liara-proxy → https://package-mirror.liara.ir/repository/pypi/
- pypi-group → pypi-liara-proxy + pypi-proxy
- ubuntu-proxy → http://linux-mirror.liara.ir/repository/ubuntu/
- ubuntu-security-proxy → http://linux-mirror.liara.ir/repository/ubuntu-security/
Also updates CI npm install steps to use npm-group instead of npm-proxy
so all four Node.js jobs benefit from the Liara-first, Runflare-fallback
group from day one.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-28 17:35:01 +03:30
soroush.asadi
7321c59e43
fix(mirror): Nexus Docker proxy with optional Liara upstream + credential support
...
provision.sh: Docker proxy defaults to registry-1.docker.io (works directly
from VPS). Set DOCKER_MIRROR_URL/USER/PASS env vars to route through
docker-mirror.liara.ir once Liara credentials are obtained.
update-docker-upstream.sh: swap Docker proxy upstream at any time without
re-running the full provision (useful after getting Liara credentials).
indexType auto-selects: HUB for docker.io direct, REGISTRY for Liara/Harbor.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-28 15:56:22 +03:30
soroush.asadi
61e44c63ab
refactor(mirror): replace 3 services with single Nexus Repository Manager
...
Consolidates BaGet + Verdaccio + registry:2 into one Sonatype Nexus OSS
instance with a REST API provisioning script.
docker-compose.mirror.yml: single nexus service, ports 8081 (UI/NuGet/npm)
and 8083 (Docker Hub pull-through proxy)
mirrors/nexus/provision.sh: idempotent setup — changes admin password,
enables anonymous access, creates nuget-proxy / npm-proxy / docker-hub-proxy
nuget.mirror.config: updated source URL to Nexus NuGet proxy endpoint
ci-cd.yml: updated npm --registry to Nexus npm proxy endpoint
Run once on server: docker compose -f docker-compose.mirror.yml up -d
then: ./mirrors/nexus/provision.sh
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-28 14:35:55 +03:30
soroush.asadi
6f85cfe4d3
feat(infra): add local pull-through mirrors for NuGet, npm, Docker Hub
...
docker-compose.mirror.yml:
- BaGet (port 5101) → proxies nuget.org
- Verdaccio (port 4873) → proxies npmjs.com
- registry:2 (port 5100) → proxies Docker Hub
nuget.mirror.config: points dotnet restore at http://mirror:5101
mirrors/verdaccio/config.yaml: open reads, upstream npmjs fallback
CI workflow:
- All container jobs: --add-host=mirror:host-gateway
- dotnet restore --configfile nuget.mirror.config
- npm install --registry http://mirror:4873
First run: packages fetched from upstream through the VPS.
All subsequent runs: served from local disk, no CDN needed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-28 14:31:12 +03:30