Refactor code structure for improved readability and maintainability
This commit is contained in:
@@ -0,0 +1,208 @@
|
||||
# Server Mirrors Configuration
|
||||
|
||||
**Server:** 194.5.195.53
|
||||
**Date:** 2026-01-29
|
||||
|
||||
---
|
||||
|
||||
## 1. Docker Registry Mirrors (K3s)
|
||||
|
||||
فایل: `/etc/rancher/k3s/registries.yaml`
|
||||
|
||||
### ترتیب Pull کردن ایمیجها:
|
||||
1. **Nexus** (194.5.195.53:32082) - لوکال
|
||||
2. **ArvanCloud** (docker.arvancloud.ir) - ایران
|
||||
3. **Original Registry** - اصلی
|
||||
|
||||
### رجیستریهای پیکربندی شده:
|
||||
|
||||
| Registry | Mirrors (به ترتیب اولویت) |
|
||||
|----------|--------------------------|
|
||||
| `docker.io` | Nexus → ArvanCloud → registry-1.docker.io |
|
||||
| `ghcr.io` | Nexus → ArvanCloud |
|
||||
| `gcr.io` | Nexus → ArvanCloud |
|
||||
| `registry.k8s.io` | Nexus → ArvanCloud |
|
||||
| `quay.io` | Nexus → ArvanCloud |
|
||||
| `mcr.microsoft.com` | Nexus → ArvanCloud |
|
||||
|
||||
### کانفیگ فعلی:
|
||||
|
||||
```yaml
|
||||
mirrors:
|
||||
"docker.io":
|
||||
endpoint:
|
||||
- "http://194.5.195.53:32082"
|
||||
- "https://docker.arvancloud.ir"
|
||||
- "https://registry-1.docker.io"
|
||||
"ghcr.io":
|
||||
endpoint:
|
||||
- "http://194.5.195.53:32082"
|
||||
- "https://docker.arvancloud.ir"
|
||||
"gcr.io":
|
||||
endpoint:
|
||||
- "http://194.5.195.53:32082"
|
||||
- "https://docker.arvancloud.ir"
|
||||
"registry.k8s.io":
|
||||
endpoint:
|
||||
- "http://194.5.195.53:32082"
|
||||
- "https://docker.arvancloud.ir"
|
||||
"quay.io":
|
||||
endpoint:
|
||||
- "http://194.5.195.53:32082"
|
||||
- "https://docker.arvancloud.ir"
|
||||
"mcr.microsoft.com":
|
||||
endpoint:
|
||||
- "http://194.5.195.53:32082"
|
||||
- "https://docker.arvancloud.ir"
|
||||
configs:
|
||||
"194.5.195.53:32082":
|
||||
auth:
|
||||
username: admin
|
||||
password: 87zH26nbqT
|
||||
```
|
||||
|
||||
### اعمال تغییرات:
|
||||
```bash
|
||||
systemctl restart k3s
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. APT Package Mirrors (Ubuntu 24.04 Noble)
|
||||
|
||||
فایل: `/etc/apt/sources.list.d/ubuntu.sources`
|
||||
|
||||
### ترتیب دانلود پکیجها:
|
||||
1. **ArvanCloud** (mirror.arvancloud.ir) - ایران
|
||||
2. **Ubuntu Official** (archive.ubuntu.com) - اصلی
|
||||
|
||||
### کانفیگ فعلی:
|
||||
|
||||
```
|
||||
Types: deb
|
||||
URIs: http://mirror.arvancloud.ir/ubuntu http://archive.ubuntu.com/ubuntu
|
||||
Suites: noble noble-updates noble-backports
|
||||
Components: main universe restricted multiverse
|
||||
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
|
||||
|
||||
Types: deb
|
||||
URIs: http://mirror.arvancloud.ir/ubuntu http://security.ubuntu.com/ubuntu
|
||||
Suites: noble-security
|
||||
Components: main universe restricted multiverse
|
||||
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
|
||||
```
|
||||
|
||||
### اعمال تغییرات:
|
||||
```bash
|
||||
apt update
|
||||
```
|
||||
|
||||
### بکاپ:
|
||||
```
|
||||
/etc/apt/sources.list.d/ubuntu.sources.bak
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. NPM Mirror (Runflare)
|
||||
|
||||
فایل: `/root/.npmrc`
|
||||
|
||||
### تنظیم فعلی:
|
||||
```
|
||||
registry=https://registry.npmjs.org
|
||||
# Fallback mirrors (use if main is slow)
|
||||
# npm config set registry https://mirror-npm.runflare.com
|
||||
```
|
||||
|
||||
### برای تغییر به میرور ایرانی:
|
||||
```bash
|
||||
npm config set registry https://mirror-npm.runflare.com
|
||||
```
|
||||
|
||||
### برای برگشت به اصلی:
|
||||
```bash
|
||||
npm config set registry https://registry.npmjs.org
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. PIP/PyPI Mirror (Runflare)
|
||||
|
||||
فایل: `/root/.config/pip/pip.conf`
|
||||
|
||||
### تنظیم فعلی (با fallback خودکار):
|
||||
```ini
|
||||
[global]
|
||||
index-url = https://pypi.org/simple
|
||||
extra-index-url = https://mirror-pypi.runflare.com/simple
|
||||
trusted-host = mirror-pypi.runflare.com
|
||||
pypi.org
|
||||
```
|
||||
|
||||
**توضیح:** PIP اول از `pypi.org` میگیره، اگه نبود از `mirror-pypi.runflare.com` میگیره.
|
||||
|
||||
---
|
||||
|
||||
## 5. Nexus Repository Manager
|
||||
|
||||
| Item | Value |
|
||||
|------|-------|
|
||||
| URL | http://194.5.195.53:32082 |
|
||||
| UI | http://194.5.195.53:32081 |
|
||||
| Username | admin |
|
||||
| Password | 87zH26nbqT |
|
||||
|
||||
### Docker Repositories:
|
||||
|
||||
| Name | Type | Remote URL |
|
||||
|------|------|------------|
|
||||
| `docker-hosted` | hosted | - |
|
||||
| `docker-arvancloud-proxy` | proxy | https://docker.arvancloud.ir |
|
||||
| `docker-hub-proxy` | proxy | https://registry-1.docker.io |
|
||||
| `docker-all` | group | hosted → arvancloud → docker-hub |
|
||||
|
||||
### NuGet Repositories:
|
||||
|
||||
| Name | Type | Remote URL |
|
||||
|------|------|------------|
|
||||
| `nuget-hosted` | hosted | - |
|
||||
| `foursat-nuget-hosted` | hosted | - |
|
||||
| `nuget-runflare-proxy` | proxy | https://mirror-nuget.runflare.com/v3/index.json |
|
||||
| `nuget.org-proxy` | proxy | https://api.nuget.org/v3/index.json |
|
||||
| `nuget-group` | group | hosted → runflare → nuget.org |
|
||||
|
||||
### ایمیجهای ذخیره شده با ورژن:
|
||||
|
||||
| Image | Tags |
|
||||
|-------|------|
|
||||
| `mcr.microsoft.com/mssql/server` | `2022-CU16`, `2022-latest` |
|
||||
| `gitea/gitea` | `1.25.3`, `latest` |
|
||||
| `gitea/act_runner` | `0.2.11`, `latest` |
|
||||
| `registry.k8s.io/ingress-nginx/controller` | `v1.14.1` |
|
||||
|
||||
---
|
||||
|
||||
## 6. Iranian Mirror URLs Summary
|
||||
|
||||
| سرویس | URL | استفاده |
|
||||
|-------|-----|---------|
|
||||
| Docker | `https://docker.arvancloud.ir` | K3s + Nexus |
|
||||
| Ubuntu APT | `http://mirror.arvancloud.ir/ubuntu` | apt sources |
|
||||
| NuGet | `https://mirror-nuget.runflare.com/v3/index.json` | Nexus proxy |
|
||||
| NPM | `https://mirror-npm.runflare.com` | npmrc (دستی) |
|
||||
| PyPI | `https://mirror-pypi.runflare.com/simple` | pip.conf (fallback) |
|
||||
|
||||
---
|
||||
|
||||
## 7. مزایای این پیکربندی
|
||||
|
||||
✅ **سرعت بالا** - میرورهای ایرانی سریعترن
|
||||
✅ **Fallback خودکار** - اگه میرور در دسترس نبود، اصلی استفاده میشه
|
||||
✅ **Offline Support** - ایمیجهای مهم در Nexus لوکال هستن
|
||||
✅ **کاهش ترافیک خارجی** - اول از سرورهای داخلی استفاده میشه
|
||||
✅ **Cache در Nexus** - پکیجها و ایمیجها cache میشن
|
||||
|
||||
---
|
||||
|
||||
*Last Updated: 2026-01-29*
|
||||
Reference in New Issue
Block a user