omniroute 2.8.3 → 2.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/app/.next/BUILD_ID +1 -1
  2. package/app/.next/build-manifest.json +2 -2
  3. package/app/.next/prerender-manifest.json +3 -3
  4. package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
  5. package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
  6. package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  24. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/search-tools/page_client-reference-manifest.js +1 -1
  27. package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  30. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
  33. package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
  34. package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
  36. package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/_global-error.html +2 -2
  40. package/app/.next/server/app/_global-error.rsc +1 -1
  41. package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  42. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  43. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  44. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  45. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  46. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/api/models/catalog/route.js +1 -1
  48. package/app/.next/server/app/api/models/catalog/route.js.nft.json +1 -1
  49. package/app/.next/server/app/api/providers/[id]/models/route.js +2 -2
  50. package/app/.next/server/app/api/providers/[id]/test/route.js +3 -3
  51. package/app/.next/server/app/api/providers/route.js +1 -1
  52. package/app/.next/server/app/api/providers/test-batch/route.js +6 -6
  53. package/app/.next/server/app/api/v1/models/route.js +3 -3
  54. package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  55. package/app/.next/server/app/api/v1/route.js +3 -3
  56. package/app/.next/server/app/api/v1/route.js.nft.json +1 -1
  57. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  58. package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
  61. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  63. package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
  64. package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  66. package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
  69. package/app/.next/server/chunks/[root-of-the-server]__09c944b3._.js +2 -2
  70. package/app/.next/server/chunks/[root-of-the-server]__134baf4c._.js +2 -2
  71. package/app/.next/server/chunks/[root-of-the-server]__2f8f5f38._.js +2 -2
  72. package/app/.next/server/chunks/[root-of-the-server]__31027061._.js +4 -0
  73. package/app/.next/server/chunks/[root-of-the-server]__3e042fbd._.js +2 -2
  74. package/app/.next/server/chunks/[root-of-the-server]__7a9b72a4._.js +2 -2
  75. package/app/.next/server/chunks/[root-of-the-server]__7d9b23e7._.js +2 -2
  76. package/app/.next/server/chunks/[root-of-the-server]__80e3bfc3._.js +1 -1
  77. package/app/.next/server/chunks/[root-of-the-server]__84e445b2._.js +1 -1
  78. package/app/.next/server/chunks/[root-of-the-server]__92cb0def._.js +1 -1
  79. package/app/.next/server/chunks/[root-of-the-server]__d4563e10._.js +1 -1
  80. package/app/.next/server/chunks/[root-of-the-server]__d7914418._.js +4 -0
  81. package/app/.next/server/chunks/[root-of-the-server]__db2f9fe0._.js +1 -1
  82. package/app/.next/server/chunks/[root-of-the-server]__e27a89bd._.js +1 -1
  83. package/app/.next/server/chunks/[root-of-the-server]__ebf3fe48._.js +2 -2
  84. package/app/.next/server/chunks/[root-of-the-server]__f0131d95._.js +4 -0
  85. package/app/.next/server/chunks/[root-of-the-server]__f31b4656._.js +3 -3
  86. package/app/.next/server/chunks/[root-of-the-server]__fad1679d._.js +2 -2
  87. package/app/.next/server/chunks/_05c48915._.js +1 -1
  88. package/app/.next/server/chunks/_2115d8de._.js +1 -1
  89. package/app/.next/server/chunks/_3ac953eb._.js +1 -1
  90. package/app/.next/server/chunks/_4b8fd853._.js +1 -1
  91. package/app/.next/server/chunks/_68683848._.js +1 -1
  92. package/app/.next/server/chunks/_ee9b677b._.js +1 -1
  93. package/app/.next/server/chunks/ssr/[root-of-the-server]__9affb65e._.js +1 -1
  94. package/app/.next/server/chunks/ssr/[root-of-the-server]__a6942102._.js +1 -1
  95. package/app/.next/server/chunks/ssr/_19b3d5b1._.js +2 -2
  96. package/app/.next/server/chunks/ssr/src_ec615d6e._.js +2 -2
  97. package/app/.next/server/pages/500.html +2 -2
  98. package/app/.next/server/server-reference-manifest.js +1 -1
  99. package/app/.next/server/server-reference-manifest.json +1 -1
  100. package/app/.next/static/chunks/{19b1432393321fcf.js → 1e206030e7793015.js} +1 -1
  101. package/app/.next/static/chunks/{37e9976d0367faad.js → 3fa6c964786c962d.js} +4 -4
  102. package/app/CHANGELOG.md +29 -0
  103. package/app/docs/ARCHITECTURE.md +1 -1
  104. package/app/docs/VM_DEPLOYMENT_GUIDE.md +2 -0
  105. package/app/docs/i18n/README.md +9 -17
  106. package/app/docs/i18n/ar/VM_DEPLOYMENT_GUIDE.md +110 -112
  107. package/app/docs/i18n/bg/VM_DEPLOYMENT_GUIDE.md +110 -112
  108. package/app/docs/i18n/da/VM_DEPLOYMENT_GUIDE.md +110 -112
  109. package/app/docs/i18n/de/VM_DEPLOYMENT_GUIDE.md +110 -112
  110. package/app/docs/i18n/es/VM_DEPLOYMENT_GUIDE.md +107 -109
  111. package/app/docs/i18n/fi/VM_DEPLOYMENT_GUIDE.md +110 -112
  112. package/app/docs/i18n/fr/VM_DEPLOYMENT_GUIDE.md +110 -112
  113. package/app/docs/i18n/he/VM_DEPLOYMENT_GUIDE.md +110 -112
  114. package/app/docs/i18n/hu/VM_DEPLOYMENT_GUIDE.md +110 -112
  115. package/app/docs/i18n/id/VM_DEPLOYMENT_GUIDE.md +110 -112
  116. package/app/docs/i18n/in/VM_DEPLOYMENT_GUIDE.md +102 -210
  117. package/app/docs/i18n/it/VM_DEPLOYMENT_GUIDE.md +110 -112
  118. package/app/docs/i18n/ja/VM_DEPLOYMENT_GUIDE.md +110 -112
  119. package/app/docs/i18n/ko/VM_DEPLOYMENT_GUIDE.md +109 -111
  120. package/app/docs/i18n/ms/VM_DEPLOYMENT_GUIDE.md +110 -112
  121. package/app/docs/i18n/nl/VM_DEPLOYMENT_GUIDE.md +110 -112
  122. package/app/docs/i18n/no/VM_DEPLOYMENT_GUIDE.md +110 -112
  123. package/app/docs/i18n/phi/VM_DEPLOYMENT_GUIDE.md +110 -112
  124. package/app/docs/i18n/pl/VM_DEPLOYMENT_GUIDE.md +110 -112
  125. package/app/docs/i18n/pt/VM_DEPLOYMENT_GUIDE.md +96 -98
  126. package/app/docs/i18n/pt-BR/VM_DEPLOYMENT_GUIDE.md +96 -98
  127. package/app/docs/i18n/ro/VM_DEPLOYMENT_GUIDE.md +110 -112
  128. package/app/docs/i18n/ru/VM_DEPLOYMENT_GUIDE.md +110 -112
  129. package/app/docs/i18n/sk/VM_DEPLOYMENT_GUIDE.md +110 -112
  130. package/app/docs/i18n/sv/VM_DEPLOYMENT_GUIDE.md +110 -112
  131. package/app/docs/i18n/th/VM_DEPLOYMENT_GUIDE.md +110 -112
  132. package/app/docs/i18n/uk-UA/VM_DEPLOYMENT_GUIDE.md +110 -112
  133. package/app/docs/i18n/vi/VM_DEPLOYMENT_GUIDE.md +110 -112
  134. package/app/docs/i18n/zh-CN/VM_DEPLOYMENT_GUIDE.md +110 -112
  135. package/app/docs/openapi.yaml +1 -1
  136. package/app/package-lock.json +5 -5
  137. package/app/package.json +1 -1
  138. package/app/scripts/i18n/generate-multilang.mjs +1 -0
  139. package/app/src/shared/constants/providers.ts +3 -0
  140. package/app/src/shared/validation/providerSchema.ts +6 -0
  141. package/package.json +1 -1
  142. package/app/.next/server/chunks/[root-of-the-server]__61396d77._.js +0 -4
  143. package/app/.next/server/chunks/[root-of-the-server]__d5ecc2ba._.js +0 -4
  144. package/app/.next/server/chunks/[root-of-the-server]__daa26645._.js +0 -4
  145. /package/app/.next/static/{IiXcm5VJcOKrDneQQSdf- → Ys6bRJXPNt8j-MKOjvZwp}/_buildManifest.js +0 -0
  146. /package/app/.next/static/{IiXcm5VJcOKrDneQQSdf- → Ys6bRJXPNt8j-MKOjvZwp}/_clientMiddlewareManifest.json +0 -0
  147. /package/app/.next/static/{IiXcm5VJcOKrDneQQSdf- → Ys6bRJXPNt8j-MKOjvZwp}/_ssgManifest.js +0 -0
@@ -1,73 +1,71 @@
1
- 🌐 **Languages:** 🇺🇸 [English](../../README.md) · 🇧🇷 [pt-BR](../pt-BR/VM_DEPLOYMENT_GUIDE.md) · 🇪🇸 [es](../es/VM_DEPLOYMENT_GUIDE.md) · 🇫🇷 [fr](../fr/VM_DEPLOYMENT_GUIDE.md) · 🇩🇪 [de](../de/VM_DEPLOYMENT_GUIDE.md) · 🇮🇹 [it](../it/VM_DEPLOYMENT_GUIDE.md) · 🇷🇺 [ru](../ru/VM_DEPLOYMENT_GUIDE.md) · 🇨🇳 [zh-CN](../zh-CN/VM_DEPLOYMENT_GUIDE.md) · 🇯🇵 [ja](../ja/VM_DEPLOYMENT_GUIDE.md) · 🇰🇷 [ko](../ko/VM_DEPLOYMENT_GUIDE.md) · 🇸🇦 [ar](../ar/VM_DEPLOYMENT_GUIDE.md) · 🇮🇳 [in](../in/VM_DEPLOYMENT_GUIDE.md) · 🇹🇭 [th](../th/VM_DEPLOYMENT_GUIDE.md) · 🇻🇳 [vi](../vi/VM_DEPLOYMENT_GUIDE.md) · 🇮🇩 [id](../id/VM_DEPLOYMENT_GUIDE.md) · 🇲🇾 [ms](../ms/VM_DEPLOYMENT_GUIDE.md) · 🇳🇱 [nl](../nl/VM_DEPLOYMENT_GUIDE.md) · 🇵🇱 [pl](../pl/VM_DEPLOYMENT_GUIDE.md) · 🇸🇪 [sv](../sv/VM_DEPLOYMENT_GUIDE.md) · 🇳🇴 [no](../no/VM_DEPLOYMENT_GUIDE.md) · 🇩🇰 [da](../da/VM_DEPLOYMENT_GUIDE.md) · 🇫🇮 [fi](../fi/VM_DEPLOYMENT_GUIDE.md) · 🇵🇹 [pt](../pt/VM_DEPLOYMENT_GUIDE.md) · 🇷🇴 [ro](../ro/VM_DEPLOYMENT_GUIDE.md) · 🇭🇺 [hu](../hu/VM_DEPLOYMENT_GUIDE.md) · 🇧🇬 [bg](../bg/VM_DEPLOYMENT_GUIDE.md) · 🇸🇰 [sk](../sk/VM_DEPLOYMENT_GUIDE.md) · 🇺🇦 [uk-UA](../uk-UA/VM_DEPLOYMENT_GUIDE.md) · 🇮🇱 [he](../he/VM_DEPLOYMENT_GUIDE.md) · 🇵🇭 [phi](../phi/VM_DEPLOYMENT_GUIDE.md)
1
+ # OmniRoute Implementeringsguide virtuell dator med Cloudflare
2
2
 
3
- ---
4
-
5
- # OmniRoute — Guia de Deploy em VM com Cloudflare
3
+ 🌐 **Languages:** 🇺🇸 [English](../../VM_DEPLOYMENT_GUIDE.md) | 🇧🇷 [Português (Brasil)](../pt-BR/VM_DEPLOYMENT_GUIDE.md) | 🇪🇸 [Español](../es/VM_DEPLOYMENT_GUIDE.md) | 🇫🇷 [Français](../fr/VM_DEPLOYMENT_GUIDE.md) | 🇮🇹 [Italiano](../it/VM_DEPLOYMENT_GUIDE.md) | 🇷🇺 [Русский](../ru/VM_DEPLOYMENT_GUIDE.md) | 🇨🇳 [中文 (简体)](../zh-CN/VM_DEPLOYMENT_GUIDE.md) | 🇩🇪 [Deutsch](../de/VM_DEPLOYMENT_GUIDE.md) | 🇮🇳 [हिन्दी](../in/VM_DEPLOYMENT_GUIDE.md) | 🇹🇭 [ไทย](../th/VM_DEPLOYMENT_GUIDE.md) | 🇺🇦 [Українська](../uk-UA/VM_DEPLOYMENT_GUIDE.md) | 🇸🇦 [العربية](../ar/VM_DEPLOYMENT_GUIDE.md) | 🇯🇵 [日本語](../ja/VM_DEPLOYMENT_GUIDE.md) | 🇻🇳 [Tiếng Việt](../vi/VM_DEPLOYMENT_GUIDE.md) | 🇧🇬 [Български](../bg/VM_DEPLOYMENT_GUIDE.md) | 🇩🇰 [Dansk](../da/VM_DEPLOYMENT_GUIDE.md) | 🇫🇮 [Suomi](../fi/VM_DEPLOYMENT_GUIDE.md) | 🇮🇱 [עברית](../he/VM_DEPLOYMENT_GUIDE.md) | 🇭🇺 [Magyar](../hu/VM_DEPLOYMENT_GUIDE.md) | 🇮🇩 [Bahasa Indonesia](../id/VM_DEPLOYMENT_GUIDE.md) | 🇰🇷 [한국어](../ko/VM_DEPLOYMENT_GUIDE.md) | 🇲🇾 [Bahasa Melayu](../ms/VM_DEPLOYMENT_GUIDE.md) | 🇳🇱 [Nederlands](../nl/VM_DEPLOYMENT_GUIDE.md) | 🇳🇴 [Norsk](../no/VM_DEPLOYMENT_GUIDE.md) | 🇵🇹 [Português (Portugal)](../pt/VM_DEPLOYMENT_GUIDE.md) | 🇷🇴 [Română](../ro/VM_DEPLOYMENT_GUIDE.md) | 🇵🇱 [Polski](../pl/VM_DEPLOYMENT_GUIDE.md) | 🇸🇰 [Slovenčina](../sk/VM_DEPLOYMENT_GUIDE.md) | 🇸🇪 [Svenska](../sv/VM_DEPLOYMENT_GUIDE.md) | 🇵🇭 [Filipino](../phi/VM_DEPLOYMENT_GUIDE.md) | 🇨🇿 [Čeština](../cs/VM_DEPLOYMENT_GUIDE.md)
6
4
 
7
- Guia completo para instalar e configurar o OmniRoute em uma VM (VPS) com domínio gerenciado via Cloudflare.
5
+ Komplett guide för att installera och konfigurera OmniRoute en virtuell dator (VPS) med domän som hanteras via Cloudflare.
8
6
 
9
7
  ---
10
8
 
11
- ## Pré-Requisitos
9
+ ## Förutsättningar
12
10
 
13
- | Item | Mínimo | Recomendado |
14
- | ----------- | ------------------------ | ---------------- |
15
- | **CPU** | 1 vCPU | 2 vCPU |
16
- | **RAM** | 1 GB | 2 GB |
17
- | **Disco** | 10 GB SSD | 25 GB SSD |
18
- | **SO** | Ubuntu 22.04 LTS | Ubuntu 24.04 LTS |
19
- | **Domínio** | Registrado no Cloudflare | — |
20
- | **Docker** | Docker Engine 24+ | Docker 27+ |
11
+ | Objekt | Minsta | Rekommenderas |
12
+ | ---------- | ------------------------- | ---------------- |
13
+ | **CPU** | 1 vCPU | 2 vCPU |
14
+ | **RAM** | 1 GB | 2 GB |
15
+ | **Disk** | 10 GB SSD | 25 GB SSD |
16
+ | **OS** | Ubuntu 22.04 LTS | Ubuntu 24.04 LTS |
17
+ | **Domän** | Registrerad Cloudflare | — |
18
+ | **Docker** | Docker Engine 24+ | Docker 27+ |
21
19
 
22
- **Providers testados**: Akamai (Linode), DigitalOcean, Vultr, Hetzner, AWS Lightsail.
20
+ **Testade leverantörer**: Akamai (Linode), DigitalOcean, Vultr, Hetzner, AWS Lightsail.
23
21
 
24
22
  ---
25
23
 
26
- ## 1. Configurar a VM
24
+ ## 1. Konfigurera den virtuella datorn
27
25
 
28
- ### 1.1 Criar a instância
26
+ ### 1.1 Skapa instansen
29
27
 
30
- No seu provider de VPS preferido:
28
+ din föredragna VPS-leverantör:
31
29
 
32
- - Escolha Ubuntu 24.04 LTS
33
- - Selecione o plano mínimo (1 vCPU / 1 GB RAM)
34
- - Defina uma senha forte para root ou configure SSH key
35
- - Anote o **IP público** (ex: `203.0.113.10`)
30
+ - Välj Ubuntu 24.04 LTS
31
+ - Välj minimiplan (1 vCPU / 1 GB RAM)
32
+ - Ställ in ett starkt root-lösenord eller konfigurera SSH-nyckel
33
+ - Notera den **offentliga IP-adressen** (t.ex. `203.0.113.10`)
36
34
 
37
- ### 1.2 Conectar via SSH
35
+ ### 1.2 Anslut via SSH
38
36
 
39
37
  ```bash
40
38
  ssh root@203.0.113.10
41
39
  ```
42
40
 
43
- ### 1.3 Atualizar o sistema
41
+ ### 1.3 Uppdatera systemet
44
42
 
45
43
  ```bash
46
44
  apt update && apt upgrade -y
47
45
  ```
48
46
 
49
- ### 1.4 Instalar Docker
47
+ ### 1.4 Installera Docker
50
48
 
51
49
  ```bash
52
- # Instalar dependências
50
+ # Install dependencies
53
51
  apt install -y ca-certificates curl gnupg
54
52
 
55
- # Adicionar repositório oficial do Docker
53
+ # Add official Docker repository
56
54
  install -m 0755 -d /etc/apt/keyrings
57
55
  curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
58
56
  chmod a+r /etc/apt/keyrings/docker.gpg
59
- echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
57
+ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $ (. /etc/os-release && echo “$VERSION_CODENAME) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
60
58
  apt update
61
59
  apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
62
60
  ```
63
61
 
64
- ### 1.5 Instalar nginx
62
+ ### 1.5 Installera nginx
65
63
 
66
64
  ```bash
67
65
  apt install -y nginx
68
66
  ```
69
67
 
70
- ### 1.6 Configurar Firewall (UFW)
68
+ ### 1.6 Konfigurera brandvägg (UFW)
71
69
 
72
70
  ```bash
73
71
  ufw default deny incoming
@@ -78,29 +76,29 @@ ufw allow 443/tcp # HTTPS
78
76
  ufw enable
79
77
  ```
80
78
 
81
- > **Dica**: Para segurança máxima, restrinja as portas 80 e 443 apenas para IPs da Cloudflare. Veja a seção [Segurança Avançada](#segurança-avançada).
79
+ > **Tips**: För maximal säkerhet, begränsa portarna 80 och 443 till endast Cloudflare IP-adresser. Se avsnittet [Advanced Security](#advanced-security).
82
80
 
83
81
  ---
84
82
 
85
- ## 2. Instalar o OmniRoute
83
+ ## 2. Installera OmniRoute
86
84
 
87
- ### 2.1 Criar diretório de configuração
85
+ ### 2.1 Skapa konfigurationskatalog
88
86
 
89
87
  ```bash
90
88
  mkdir -p /opt/omniroute
91
89
  ```
92
90
 
93
- ### 2.2 Criar arquivo de variáveis de ambiente
91
+ ### 2.2 Skapa fil med miljövariabler
94
92
 
95
93
  ```bash
96
- cat > /opt/omniroute/.env << 'EOF'
97
- # === Segurança ===
98
- JWT_SECRET=ALTERE-PARA-CHAVE-SECRETA-UNICA-64-CHARS
99
- INITIAL_PASSWORD=SuaSenhaSegura123!
100
- API_KEY_SECRET=ALTERE-PARA-OUTRA-CHAVE-SECRETA
101
- STORAGE_ENCRYPTION_KEY=ALTERE-PARA-TERCEIRA-CHAVE-SECRETA
94
+ cat > /opt/omniroute/.env << EOF
95
+ # === Security ===
96
+ JWT_SECRET=CHANGE-TO-A-UNIQUE-64-CHAR-SECRET-KEY
97
+ INITIAL_PASSWORD=YourSecurePassword123!
98
+ API_KEY_SECRET=REPLACE-WITH-ANOTHER-SECRET-KEY
99
+ STORAGE_ENCRYPTION_KEY=REPLACE-WITH-THIRD-SECRET-KEY
102
100
  STORAGE_ENCRYPTION_KEY_VERSION=v1
103
- MACHINE_ID_SALT=ALTERE-PARA-SALT-UNICO
101
+ MACHINE_ID_SALT=CHANGE-TO-A-UNIQUE-SALT
104
102
 
105
103
  # === App ===
106
104
  PORT=20128
@@ -112,19 +110,19 @@ ENABLE_REQUEST_LOGS=true
112
110
  AUTH_COOKIE_SECURE=false
113
111
  REQUIRE_API_KEY=false
114
112
 
115
- # === Domain (altere para seu domínio) ===
113
+ # === Domain (change to your domain) ===
116
114
  BASE_URL=https://llms.seudominio.com
117
115
  NEXT_PUBLIC_BASE_URL=https://llms.seudominio.com
118
116
 
119
- # === Cloud Sync (opcional) ===
117
+ # === Cloud Sync (optional) ===
120
118
  # CLOUD_URL=https://cloud.omniroute.online
121
119
  # NEXT_PUBLIC_CLOUD_URL=https://cloud.omniroute.online
122
120
  EOF
123
121
  ```
124
122
 
125
- > ⚠️ **IMPORTANTE**: Gere chaves secretas únicas! Use `openssl rand -hex 32` para cada chave.
123
+ > ⚠️ **VIKTIGT**: Skapa unika hemliga nycklar! Använd `openssl rand -hex 32` för varje nyckel.
126
124
 
127
- ### 2.3 Iniciar o container
125
+ ### 2.3 Starta behållaren
128
126
 
129
127
  ```bash
130
128
  docker pull diegosouzapw/omniroute:latest
@@ -138,45 +136,45 @@ docker run -d \
138
136
  diegosouzapw/omniroute:latest
139
137
  ```
140
138
 
141
- ### 2.4 Verificar se está rodando
139
+ ### 2.4 Kontrollera att den körs
142
140
 
143
141
  ```bash
144
142
  docker ps | grep omniroute
145
143
  docker logs omniroute --tail 20
146
144
  ```
147
145
 
148
- Deve exibir: `[DB] SQLite database ready` e `listening on port 20128`.
146
+ Den ska visa: `[DB] SQLite database ready` och `listening on port 20128`.
149
147
 
150
148
  ---
151
149
 
152
- ## 3. Configurar nginx (Reverse Proxy)
150
+ ## 3. Konfigurera nginx (omvänd proxy)
153
151
 
154
- ### 3.1 Gerar certificado SSL (Cloudflare Origin)
152
+ ### 3.1 Generera SSL-certifikat (Cloudflare Origin)
155
153
 
156
- No painel da Cloudflare:
154
+ I Cloudflares instrumentpanel:
157
155
 
158
- 1. em **SSL/TLS → Origin Server**
159
- 2. Clique **Create Certificate**
160
- 3. Deixe os padrões (15 anos, \*.seudominio.com)
161
- 4. Copie o **Origin Certificate** e a **Private Key**
156
+ 1. till **SSL/TLS → Origin Server**
157
+ 2. Klicka **Skapa certifikat**
158
+ 3. Behåll standardinställningarna (15 år, \*.dindomän.com)
159
+ 4. Kopiera **ursprungscertifikatet** och **privat nyckel**
162
160
 
163
161
  ```bash
164
162
  mkdir -p /etc/nginx/ssl
165
163
 
166
- # Colar o certificado
164
+ # Paste the certificate
167
165
  nano /etc/nginx/ssl/origin.crt
168
166
 
169
- # Colar a chave privada
167
+ # Paste the private key
170
168
  nano /etc/nginx/ssl/origin.key
171
169
 
172
170
  chmod 600 /etc/nginx/ssl/origin.key
173
171
  ```
174
172
 
175
- ### 3.2 Configuração do nginx
173
+ ### 3.2 Nginx-konfiguration
176
174
 
177
175
  ```bash
178
- cat > /etc/nginx/sites-available/omniroute << 'NGINX'
179
- # Default server — bloqueia acesso direto por IP
176
+ cat > /etc/nginx/sites-available/omniroute << NGINX
177
+ # Default server — blocks direct access via IP
180
178
  server {
181
179
  listen 80 default_server;
182
180
  listen [::]:80 default_server;
@@ -192,7 +190,7 @@ server {
192
190
  server {
193
191
  listen 443 ssl;
194
192
  listen [::]:443 ssl;
195
- server_name llms.seudominio.com; # Altere para seu domínio
193
+ server_name llms.yourdomain.com; # Change to your domain
196
194
 
197
195
  ssl_certificate /etc/nginx/ssl/origin.crt;
198
196
  ssl_certificate_key /etc/nginx/ssl/origin.key;
@@ -210,7 +208,7 @@ server {
210
208
  # WebSocket support
211
209
  proxy_http_version 1.1;
212
210
  proxy_set_header Upgrade $http_upgrade;
213
- proxy_set_header Connection "upgrade";
211
+ proxy_set_header Connection upgrade”;
214
212
 
215
213
  # SSE (Server-Sent Events) — streaming AI responses
216
214
  proxy_buffering off;
@@ -224,61 +222,61 @@ server {
224
222
  server {
225
223
  listen 80;
226
224
  listen [::]:80;
227
- server_name llms.seudominio.com;
225
+ server_name llms.yourdomain.com;
228
226
  return 301 https://$server_name$request_uri;
229
227
  }
230
228
  NGINX
231
229
  ```
232
230
 
233
- ### 3.3 Ativar e testar
231
+ ### 3.3 Aktivera och testa
234
232
 
235
233
  ```bash
236
- # Remover config padrão
234
+ # Remove default configuration
237
235
  rm -f /etc/nginx/sites-enabled/default
238
236
 
239
- # Ativar OmniRoute
237
+ # Enable OmniRoute
240
238
  ln -sf /etc/nginx/sites-available/omniroute /etc/nginx/sites-enabled/omniroute
241
239
 
242
- # Testar e recarregar
240
+ # Test and reload
243
241
  nginx -t && systemctl reload nginx
244
242
  ```
245
243
 
246
244
  ---
247
245
 
248
- ## 4. Configurar Cloudflare DNS
246
+ ## 4. Konfigurera Cloudflare DNS
249
247
 
250
- ### 4.1 Adicionar registro DNS
248
+ ### 4.1 Lägg till DNS-post
251
249
 
252
- No painel da Cloudflare → DNS:
250
+ I Cloudflares instrumentpanel → DNS:
253
251
 
254
- | Type | Name | Content | Proxy |
255
- | ---- | ------ | ------------------------- | ---------- |
256
- | A | `llms` | `203.0.113.10` (IP da VM) | ✅ Proxied |
252
+ | Skriv | Namn | Innehåll | Proxy |
253
+ | ----- | ------ | ---------------------- | ----------- |
254
+ | A | `llms` | `203.0.113.10` (VM IP) | ✅ Fullmakt |
257
255
 
258
- ### 4.2 Configurar SSL
256
+ ### 4.2 Konfigurera SSL
259
257
 
260
- Em **SSL/TLS → Overview**:
258
+ Under **SSL/TLS → Översikt**:
261
259
 
262
- - Modo: **Full (Strict)**
260
+ - Läge: **Fullständig (Strikt)**
263
261
 
264
- Em **SSL/TLS → Edge Certificates**:
262
+ Under **SSL/TLS → Edge-certifikat**:
265
263
 
266
- - Always Use HTTPS: ✅ On
267
- - Minimum TLS Version: TLS 1.2
268
- - Automatic HTTPS Rewrites: ✅ On
264
+ - Använd alltid HTTPS: ✅
265
+ - Minsta TLS-version: TLS 1.2
266
+ - Automatiska HTTPS-omskrivningar: ✅
269
267
 
270
- ### 4.3 Testar
268
+ ### 4.3 Testning
271
269
 
272
270
  ```bash
273
271
  curl -sI https://llms.seudominio.com/health
274
- # Deve retornar HTTP/2 200
272
+ # Should return HTTP/2 200
275
273
  ```
276
274
 
277
275
  ---
278
276
 
279
- ## 5. Operações e Manutenção
277
+ ## 5. Drift och underhåll
280
278
 
281
- ### Atualizar para nova versão
279
+ ### Uppgradera till en ny version
282
280
 
283
281
  ```bash
284
282
  docker pull diegosouzapw/omniroute:latest
@@ -290,42 +288,42 @@ docker run -d --name omniroute --restart unless-stopped \
290
288
  diegosouzapw/omniroute:latest
291
289
  ```
292
290
 
293
- ### Ver logs
291
+ ### Visa loggar
294
292
 
295
293
  ```bash
296
- docker logs -f omniroute # Stream em tempo real
297
- docker logs omniroute --tail 50 # Últimas 50 linhas
294
+ docker logs -f omniroute # Real-time stream
295
+ docker logs omniroute --tail 50 # Last 50 lines
298
296
  ```
299
297
 
300
- ### Backup manual do banco
298
+ ### Manuell säkerhetskopiering av databas
301
299
 
302
300
  ```bash
303
- # Copiar dados do volume para o host
301
+ # Copy data from the volume to the host
304
302
  docker cp omniroute:/app/data ./backup-$(date +%F)
305
303
 
306
- # Ou comprimir todo o volume
304
+ # Or compress the entire volume
307
305
  docker run --rm -v omniroute-data:/data -v $(pwd):/backup \
308
306
  alpine tar czf /backup/omniroute-data-$(date +%F).tar.gz /data
309
307
  ```
310
308
 
311
- ### Restaurar de backup
309
+ ### Återställ från säkerhetskopia
312
310
 
313
311
  ```bash
314
312
  docker stop omniroute
315
313
  docker run --rm -v omniroute-data:/data -v $(pwd):/backup \
316
- alpine sh -c "rm -rf /data/* && tar xzf /backup/omniroute-data-YYYY-MM-DD.tar.gz -C /"
314
+ alpine sh -c rm -rf /data/* && tar xzf /backup/omniroute-data-YYYY-MM-DD.tar.gz -C /”
317
315
  docker start omniroute
318
316
  ```
319
317
 
320
318
  ---
321
319
 
322
- ## 6. Segurança Avançada
320
+ ## 6. Avancerad säkerhet
323
321
 
324
- ### Restringir nginx para Cloudflare IPs
322
+ ### Begränsa nginx till Cloudflare IP-adresser
325
323
 
326
324
  ```bash
327
- cat > /etc/nginx/cloudflare-ips.conf << 'CF'
328
- # Cloudflare IPv4 ranges — atualizar periodicamente
325
+ cat > /etc/nginx/cloudflare-ips.conf << CF
326
+ # Cloudflare IPv4 ranges — update periodically
329
327
  # https://www.cloudflare.com/ips-v4/
330
328
  set_real_ip_from 173.245.48.0/20;
331
329
  set_real_ip_from 103.21.244.0/22;
@@ -346,58 +344,58 @@ real_ip_header CF-Connecting-IP;
346
344
  CF
347
345
  ```
348
346
 
349
- Adicionar no `nginx.conf` dentro do bloco `http {}`:
347
+ Lägg till följande till `nginx.conf` inuti `http {}`-blocket:
350
348
 
351
349
  ```nginx
352
350
  include /etc/nginx/cloudflare-ips.conf;
353
351
  ```
354
352
 
355
- ### Install fail2ban
353
+ ### Installera fail2ban
356
354
 
357
355
  ```bash
358
356
  apt install -y fail2ban
359
357
  systemctl enable fail2ban
360
358
  systemctl start fail2ban
361
359
 
362
- # Verificar status
360
+ # Check status
363
361
  fail2ban-client status sshd
364
362
  ```
365
363
 
366
- ### Bloquear acesso direto na porta do Docker
364
+ ### Blockera direktåtkomst till Docker-porten
367
365
 
368
366
  ```bash
369
- # Impedir acesso externo direto à porta 20128
367
+ # Prevent direct external access to port 20128
370
368
  iptables -I DOCKER-USER -p tcp --dport 20128 -j DROP
371
369
  iptables -I DOCKER-USER -i lo -p tcp --dport 20128 -j ACCEPT
372
370
 
373
- # Persistir as regras
371
+ # Persist the rules
374
372
  apt install -y iptables-persistent
375
373
  netfilter-persistent save
376
374
  ```
377
375
 
378
376
  ---
379
377
 
380
- ## 7. Deploy do Cloud Worker (Opcional)
378
+ ## 7. Distribuera till Cloudflare-arbetare (valfritt)
381
379
 
382
- Para acesso remoto via Cloudflare Workers (sem expor a VM diretamente):
380
+ För fjärråtkomst via Cloudflare Workers (utan att exponera den virtuella datorn direkt):
383
381
 
384
382
  ```bash
385
- # No repositório local
383
+ # In the local repository
386
384
  cd omnirouteCloud
387
385
  npm install
388
386
  npx wrangler login
389
387
  npx wrangler deploy
390
388
  ```
391
389
 
392
- Ver documentação completa em [omnirouteCloud/README.md](../omnirouteCloud/README.md).
390
+ Se hela dokumentationen [omnirouteCloud/README.md](../omnirouteCloud/README.md).
393
391
 
394
392
  ---
395
393
 
396
- ## Resumo de Portas
394
+ ## Portsammanfattning
397
395
 
398
- | Porta | Serviço | Acesso |
399
- | ----- | ----------- | ----------------------------- |
400
- | 22 | SSH | Público (com fail2ban) |
401
- | 80 | nginx HTTP | Redirect → HTTPS |
402
- | 443 | nginx HTTPS | Via Cloudflare Proxy |
403
- | 20128 | OmniRoute | Somente localhost (via nginx) |
396
+ | Hamn | Service | Tillgång |
397
+ | ----- | ----------- | ---------------------------- |
398
+ | 22 | SSH | Public (med fail2ban) |
399
+ | 80 | nginx HTTP | Omdirigera → HTTPS |
400
+ | 443 | nginx HTTPS | Via Cloudflare Proxy |
401
+ | 20128 | OmniRoute | Endast Localhost (via nginx) |