Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2d410b43f2 |
No files matched your search
@@ -33,9 +33,6 @@ body:
|
|||||||
options:
|
options:
|
||||||
# The below comment is used to insert a new version with on-release.yml
|
# The below comment is used to insert a new version with on-release.yml
|
||||||
#NEXT_VERSION#
|
#NEXT_VERSION#
|
||||||
- 1.77.0
|
|
||||||
- 1.76.2
|
|
||||||
- 1.76.1
|
|
||||||
- 1.76.0
|
- 1.76.0
|
||||||
- 1.75.0
|
- 1.75.0
|
||||||
- 1.74.0
|
- 1.74.0
|
||||||
|
|||||||
@@ -68,6 +68,8 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
node-version: 24.18.0
|
node-version: 24.18.0
|
||||||
package-manager-cache: false
|
package-manager-cache: false
|
||||||
|
- run: npm i -g pnpm
|
||||||
|
if: env.SKIP_RELEASE == 'false'
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
if: env.SKIP_RELEASE == 'false'
|
if: env.SKIP_RELEASE == 'false'
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -1,11 +1,3 @@
|
|||||||
## [1.77.1](https://github.com/homarr-labs/homarr/compare/v1.77.0...v1.77.1) (2026-09-11)
|
|
||||||
|
|
||||||
## [1.77.0](https://github.com/homarr-labs/homarr/compare/v1.76.2...v1.77.0) (2026-09-06)
|
|
||||||
|
|
||||||
## [1.76.2](https://github.com/homarr-labs/homarr/compare/v1.76.1...v1.76.2) (2026-08-27)
|
|
||||||
|
|
||||||
## [1.76.1](https://github.com/homarr-labs/homarr/compare/v1.76.0...v1.76.1) (2026-08-26)
|
|
||||||
|
|
||||||
## [1.76.0](https://github.com/homarr-labs/homarr/compare/v1.75.0...v1.76.0) (2026-08-21)
|
## [1.76.0](https://github.com/homarr-labs/homarr/compare/v1.75.0...v1.76.0) (2026-08-21)
|
||||||
|
|
||||||
## [1.75.0](https://github.com/homarr-labs/homarr/compare/v1.74.0...v1.75.0) (2026-08-14)
|
## [1.75.0](https://github.com/homarr-labs/homarr/compare/v1.74.0...v1.75.0) (2026-08-14)
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
<img src="https://raw.githubusercontent.com/homarr-labs/charts/refs/heads/main/charts/homarr/icon.svg" align="right" width="92" alt="homarr logo">
|
<img src="https://raw.githubusercontent.com/homarr-labs/charts/refs/heads/main/charts/homarr/icon.svg" align="right" width="92" alt="homarr logo">
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
A Helm chart to deploy homarr for Kubernetes
|
A Helm chart to deploy homarr for Kubernetes
|
||||||
|
|
||||||
@@ -429,7 +429,7 @@ All available values are listed on the [artifacthub](https://artifacthub.io/pack
|
|||||||
| httproute.rules[0].matches[0].path.value | string | `"/"` | Path value to match |
|
| httproute.rules[0].matches[0].path.value | string | `"/"` | Path value to match |
|
||||||
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
|
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
|
||||||
| image.repository | string | `"ghcr.io/homarr-labs/homarr"` | Image repository |
|
| image.repository | string | `"ghcr.io/homarr-labs/homarr"` | Image repository |
|
||||||
| image.tag | string | `"v1.76.1"` | Overrides the image tag whose default is the chart appVersion |
|
| image.tag | string | `"v1.76.0"` | Overrides the image tag whose default is the chart appVersion |
|
||||||
| imagePullSecrets | list | `[]` | Secrets for Docker registry |
|
| imagePullSecrets | list | `[]` | Secrets for Docker registry |
|
||||||
| ingress.annotations | object | `{}` | Ingress annotations |
|
| ingress.annotations | object | `{}` | Ingress annotations |
|
||||||
| ingress.enabled | bool | `false` | Enable ingress |
|
| ingress.enabled | bool | `false` | Enable ingress |
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ import { db } from "@homarr/db";
|
|||||||
|
|
||||||
import { getPackageVersion } from "~/versions/package-reader";
|
import { getPackageVersion } from "~/versions/package-reader";
|
||||||
import { extractMcpTools } from "../_extract-tools";
|
import { extractMcpTools } from "../_extract-tools";
|
||||||
import { serializeMcpToolResult } from "../_serialize-result";
|
|
||||||
|
|
||||||
const logger = createLogger({ module: "mcpRoute" });
|
const logger = createLogger({ module: "mcpRoute" });
|
||||||
|
|
||||||
@@ -204,7 +203,7 @@ const mcpHandler = createMcpHandler(
|
|||||||
const input = args && Object.keys(args).length > 0 ? args : undefined;
|
const input = args && Object.keys(args).length > 0 ? args : undefined;
|
||||||
const result = await procedure(input);
|
const result = await procedure(input);
|
||||||
return {
|
return {
|
||||||
content: [{ type: "text" as const, text: serializeMcpToolResult(result) }],
|
content: [{ type: "text" as const, text: JSON.stringify(result) }],
|
||||||
};
|
};
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
const message = sanitizeErrorMessage(error);
|
const message = sanitizeErrorMessage(error);
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
import { describe, expect, it } from "vitest";
|
|
||||||
|
|
||||||
import { serializeMcpToolResult } from "./_serialize-result";
|
|
||||||
|
|
||||||
describe("serializeMcpToolResult", () => {
|
|
||||||
it("serializes objects as JSON strings", () => {
|
|
||||||
expect(serializeMcpToolResult({ boardId: "1" })).toBe('{"boardId":"1"}');
|
|
||||||
});
|
|
||||||
|
|
||||||
it("serializes primitive values", () => {
|
|
||||||
expect(serializeMcpToolResult("hello")).toBe('"hello"');
|
|
||||||
expect(serializeMcpToolResult(42)).toBe("42");
|
|
||||||
expect(serializeMcpToolResult(true)).toBe("true");
|
|
||||||
});
|
|
||||||
|
|
||||||
it("serializes null as the string null", () => {
|
|
||||||
expect(serializeMcpToolResult(null)).toBe("null");
|
|
||||||
});
|
|
||||||
|
|
||||||
it("serializes void results as the string null so MCP content text is always a string", () => {
|
|
||||||
expect(serializeMcpToolResult(undefined)).toBe("null");
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
export function serializeMcpToolResult(result: unknown): string {
|
|
||||||
return JSON.stringify(result) ?? "null";
|
|
||||||
}
|
|
||||||
+2
-2
@@ -9,7 +9,7 @@ http {
|
|||||||
|
|
||||||
# Route websockets traffic to port 3001
|
# Route websockets traffic to port 3001
|
||||||
location /websockets {
|
location /websockets {
|
||||||
proxy_pass http://127.0.0.1:3001;
|
proxy_pass http://${HOSTNAME}:3001;
|
||||||
proxy_http_version 1.1;
|
proxy_http_version 1.1;
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
proxy_set_header Connection "Upgrade";
|
proxy_set_header Connection "Upgrade";
|
||||||
@@ -18,7 +18,7 @@ http {
|
|||||||
|
|
||||||
# Route all other traffic to port 3000
|
# Route all other traffic to port 3000
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://127.0.0.1:3000;
|
proxy_pass http://${HOSTNAME}:3000;
|
||||||
proxy_set_header Host $http_host;
|
proxy_set_header Host $http_host;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "homarr",
|
"name": "homarr",
|
||||||
"version": "1.77.1",
|
"version": "1.76.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "cross-env CI=true turbo build",
|
"build": "cross-env CI=true turbo build",
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ async function importCookiesAsync() {
|
|||||||
|
|
||||||
function getBaseUrl() {
|
function getBaseUrl() {
|
||||||
if (typeof window !== "undefined") return window.location.origin;
|
if (typeof window !== "undefined") return window.location.origin;
|
||||||
return "http://127.0.0.1:3000";
|
return `http://${process.env.HOSTNAME ?? "localhost"}:3000`;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const trpcPath = "/api/trpc";
|
export const trpcPath = "/api/trpc";
|
||||||
|
|||||||
@@ -13,6 +13,11 @@ import { UndiciHttpAgent } from "@homarr/core/infrastructure/http";
|
|||||||
|
|
||||||
import type { TrustedCertificateHostname } from "../certificates/hostnames";
|
import type { TrustedCertificateHostname } from "../certificates/hostnames";
|
||||||
import { withTimeoutAsync } from "./timeout";
|
import { withTimeoutAsync } from "./timeout";
|
||||||
|
|
||||||
|
import packageJson from "../../../../../package.json";
|
||||||
|
|
||||||
|
export const getDefaultUserAgent = () => `Homarr/${packageJson.version} (+https://homarr.dev)`;
|
||||||
|
|
||||||
export const createCustomCheckServerIdentity = (
|
export const createCustomCheckServerIdentity = (
|
||||||
trustedHostnames: TrustedCertificateHostname[],
|
trustedHostnames: TrustedCertificateHostname[],
|
||||||
): typeof checkServerIdentity => {
|
): typeof checkServerIdentity => {
|
||||||
@@ -78,6 +83,10 @@ export const fetchWithTrustedCertificatesAsync = async (
|
|||||||
async (signal) =>
|
async (signal) =>
|
||||||
fetch(url, {
|
fetch(url, {
|
||||||
...fetchOptions,
|
...fetchOptions,
|
||||||
|
headers: {
|
||||||
|
"User-Agent": getDefaultUserAgent(),
|
||||||
|
...fetchOptions.headers,
|
||||||
|
},
|
||||||
signal,
|
signal,
|
||||||
dispatcher: agent,
|
dispatcher: agent,
|
||||||
}),
|
}),
|
||||||
@@ -88,6 +97,10 @@ export const fetchWithTrustedCertificatesAsync = async (
|
|||||||
const { bodyTimeout: _bodyTimeout, dispatcher: _dispatcher, ...fetchOptions } = options ?? {};
|
const { bodyTimeout: _bodyTimeout, dispatcher: _dispatcher, ...fetchOptions } = options ?? {};
|
||||||
return fetch(url, {
|
return fetch(url, {
|
||||||
...fetchOptions,
|
...fetchOptions,
|
||||||
|
headers: {
|
||||||
|
"User-Agent": getDefaultUserAgent(),
|
||||||
|
...fetchOptions.headers,
|
||||||
|
},
|
||||||
dispatcher: agent,
|
dispatcher: agent,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
// @vitest-environment node
|
|
||||||
|
|
||||||
import { createServer } from "node:http";
|
|
||||||
import type { AddressInfo } from "node:net";
|
|
||||||
|
|
||||||
import { getServerStatistics, init } from "@immich/sdk";
|
|
||||||
import { describe, expect, test, vi } from "vitest";
|
|
||||||
|
|
||||||
import { fetchWithTrustedCertificatesAsync } from "@homarr/core/infrastructure/http";
|
|
||||||
|
|
||||||
vi.mock("@homarr/core/infrastructure/certificates", () => ({
|
|
||||||
getAllTrustedCertificatesAsync: vi.fn(async () => []),
|
|
||||||
getTrustedCertificateHostnamesAsync: vi.fn(async () => []),
|
|
||||||
}));
|
|
||||||
|
|
||||||
describe("real @immich/sdk end-to-end through fetchWithTrustedCertificatesAsync", () => {
|
|
||||||
test("x-api-key set via init() reaches the server", async () => {
|
|
||||||
let receivedXApiKey: string | string[] | undefined;
|
|
||||||
const server = createServer((req, res) => {
|
|
||||||
receivedXApiKey = req.headers["x-api-key"];
|
|
||||||
res.writeHead(200, { "Content-Type": "application/json" });
|
|
||||||
res.end(JSON.stringify({ usage: 1000, photos: 5, videos: 2 }));
|
|
||||||
});
|
|
||||||
await new Promise<void>((resolve) => server.listen(0, resolve));
|
|
||||||
const port = (server.address() as AddressInfo).port;
|
|
||||||
|
|
||||||
init({ baseUrl: `http://127.0.0.1:${port}/api`, apiKey: "sdk-configured-key" });
|
|
||||||
try {
|
|
||||||
const stats = await getServerStatistics({
|
|
||||||
fetch: fetchWithTrustedCertificatesAsync as unknown as typeof fetch,
|
|
||||||
});
|
|
||||||
|
|
||||||
expect(receivedXApiKey).toBe("sdk-configured-key");
|
|
||||||
expect(stats).toMatchObject({ usage: 1000, photos: 5, videos: 2 });
|
|
||||||
} finally {
|
|
||||||
server.close();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@@ -3163,8 +3163,8 @@
|
|||||||
"noColumns": "Spalten in Elementen auswählen",
|
"noColumns": "Spalten in Elementen auswählen",
|
||||||
"noCommunications": "Kann keine Daten von der Integration laden",
|
"noCommunications": "Kann keine Daten von der Integration laden",
|
||||||
"noItems": "",
|
"noItems": "",
|
||||||
"actionFailed": "Aktion fehlgeschlagen",
|
"actionFailed": "",
|
||||||
"actionFailedMessage": "Diese Aktion konnte nicht abgeschlossen werden. Bitte versuche es erneut."
|
"actionFailedMessage": ""
|
||||||
},
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"actions": {
|
"actions": {
|
||||||
@@ -3452,7 +3452,7 @@
|
|||||||
"queued": ""
|
"queued": ""
|
||||||
},
|
},
|
||||||
"type": {
|
"type": {
|
||||||
"movie": "Film",
|
"movie": "",
|
||||||
"episode": ""
|
"episode": ""
|
||||||
},
|
},
|
||||||
"empty": {
|
"empty": {
|
||||||
@@ -3812,7 +3812,7 @@
|
|||||||
},
|
},
|
||||||
"resource": {
|
"resource": {
|
||||||
"routers": "",
|
"routers": "",
|
||||||
"services": "Dienste",
|
"services": "",
|
||||||
"middlewares": ""
|
"middlewares": ""
|
||||||
},
|
},
|
||||||
"status": {
|
"status": {
|
||||||
@@ -4098,7 +4098,7 @@
|
|||||||
"temp": "",
|
"temp": "",
|
||||||
"battery": "",
|
"battery": "",
|
||||||
"services": "Dienste",
|
"services": "Dienste",
|
||||||
"uptime": "Verfügbarkeit",
|
"uptime": "",
|
||||||
"agent": "Agent"
|
"agent": "Agent"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -4173,12 +4173,12 @@
|
|||||||
"chart": {
|
"chart": {
|
||||||
"cpu": {
|
"cpu": {
|
||||||
"title": "CPU Auslastung",
|
"title": "CPU Auslastung",
|
||||||
"subtitle": "Durchschnittliche Systemweite CPU-Auslastung",
|
"subtitle": "",
|
||||||
"series": "CPU"
|
"series": "CPU"
|
||||||
},
|
},
|
||||||
"memory": {
|
"memory": {
|
||||||
"title": "Speicherverbrauch",
|
"title": "",
|
||||||
"subtitle": "Genaue Auslastung zum erfassten Zeitpunkt",
|
"subtitle": "",
|
||||||
"series": "Belegt",
|
"series": "Belegt",
|
||||||
"cache": ""
|
"cache": ""
|
||||||
},
|
},
|
||||||
@@ -4189,7 +4189,7 @@
|
|||||||
},
|
},
|
||||||
"diskIO": {
|
"diskIO": {
|
||||||
"title": "Festplatten-E/A",
|
"title": "Festplatten-E/A",
|
||||||
"subtitle": "Durchsatz des Root-Dateisystems",
|
"subtitle": "",
|
||||||
"read": "Lesen",
|
"read": "Lesen",
|
||||||
"write": "Schreiben"
|
"write": "Schreiben"
|
||||||
},
|
},
|
||||||
@@ -6096,7 +6096,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"availability": {
|
"availability": {
|
||||||
"available": "Verfügbar",
|
"available": "",
|
||||||
"partiallyAvailable": "",
|
"partiallyAvailable": "",
|
||||||
"processing": "",
|
"processing": "",
|
||||||
"requested": "",
|
"requested": "",
|
||||||
|
|||||||
@@ -3179,7 +3179,7 @@
|
|||||||
"detailsTitle": ""
|
"detailsTitle": ""
|
||||||
},
|
},
|
||||||
"downSpeed": {
|
"downSpeed": {
|
||||||
"columnTitle": "Down",
|
"columnTitle": "",
|
||||||
"detailsTitle": ""
|
"detailsTitle": ""
|
||||||
},
|
},
|
||||||
"index": {
|
"index": {
|
||||||
@@ -3194,10 +3194,10 @@
|
|||||||
"columnTitle": ""
|
"columnTitle": ""
|
||||||
},
|
},
|
||||||
"name": {
|
"name": {
|
||||||
"columnTitle": "Job name"
|
"columnTitle": ""
|
||||||
},
|
},
|
||||||
"progress": {
|
"progress": {
|
||||||
"columnTitle": "Progress",
|
"columnTitle": "",
|
||||||
"detailsTitle": ""
|
"detailsTitle": ""
|
||||||
},
|
},
|
||||||
"ratio": {
|
"ratio": {
|
||||||
@@ -3217,7 +3217,7 @@
|
|||||||
"detailsTitle": ""
|
"detailsTitle": ""
|
||||||
},
|
},
|
||||||
"state": {
|
"state": {
|
||||||
"columnTitle": "State",
|
"columnTitle": "",
|
||||||
"detailsTitle": ""
|
"detailsTitle": ""
|
||||||
},
|
},
|
||||||
"time": {
|
"time": {
|
||||||
@@ -3315,7 +3315,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mediaRequests-requestList": {
|
"mediaRequests-requestList": {
|
||||||
"name": "Media Requests List",
|
"name": "",
|
||||||
"description": "",
|
"description": "",
|
||||||
"option": {
|
"option": {
|
||||||
"linksTargetNewTab": {
|
"linksTargetNewTab": {
|
||||||
@@ -3337,15 +3337,15 @@
|
|||||||
"unknown": "",
|
"unknown": "",
|
||||||
"pending": "",
|
"pending": "",
|
||||||
"processing": "",
|
"processing": "",
|
||||||
"requested": "Requested",
|
"requested": "",
|
||||||
"partiallyAvailable": "",
|
"partiallyAvailable": "",
|
||||||
"available": "",
|
"available": "",
|
||||||
"blacklisted": "Blacklisted",
|
"blacklisted": "",
|
||||||
"deleted": ""
|
"deleted": ""
|
||||||
},
|
},
|
||||||
"status": {
|
"status": {
|
||||||
"pending": "",
|
"pending": "",
|
||||||
"approved": "Approved",
|
"approved": "",
|
||||||
"declined": "",
|
"declined": "",
|
||||||
"failed": "",
|
"failed": "",
|
||||||
"completed": ""
|
"completed": ""
|
||||||
@@ -3358,7 +3358,7 @@
|
|||||||
"option": {},
|
"option": {},
|
||||||
"titles": {
|
"titles": {
|
||||||
"stats": {
|
"stats": {
|
||||||
"main": "Media Stats",
|
"main": "",
|
||||||
"approved": "",
|
"approved": "",
|
||||||
"pending": "",
|
"pending": "",
|
||||||
"processing": "",
|
"processing": "",
|
||||||
@@ -3402,15 +3402,15 @@
|
|||||||
"panel": {
|
"panel": {
|
||||||
"statistics": {
|
"statistics": {
|
||||||
"empty": "",
|
"empty": "",
|
||||||
"transcodes": "Transcodes",
|
"transcodes": "",
|
||||||
"transcodesCount": "",
|
"transcodesCount": "",
|
||||||
"healthChecksCount": "",
|
"healthChecksCount": "",
|
||||||
"filesCount": "",
|
"filesCount": "",
|
||||||
"savedSpace": "",
|
"savedSpace": "",
|
||||||
"healthChecks": "Health checks",
|
"healthChecks": "",
|
||||||
"videoCodecs": "Codecs",
|
"videoCodecs": "",
|
||||||
"videoContainers": "Containers",
|
"videoContainers": "",
|
||||||
"videoResolutions": "Resolutions"
|
"videoResolutions": ""
|
||||||
},
|
},
|
||||||
"workers": {
|
"workers": {
|
||||||
"empty": "",
|
"empty": "",
|
||||||
@@ -3620,7 +3620,7 @@
|
|||||||
"option": {},
|
"option": {},
|
||||||
"card": {
|
"card": {
|
||||||
"vpn": {
|
"vpn": {
|
||||||
"countConnected": "{count} connected"
|
"countConnected": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
@@ -3637,14 +3637,14 @@
|
|||||||
"name": ""
|
"name": ""
|
||||||
},
|
},
|
||||||
"wifi": {
|
"wifi": {
|
||||||
"name": "Wi-Fi"
|
"name": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"users": {
|
"users": {
|
||||||
"label": ""
|
"label": ""
|
||||||
},
|
},
|
||||||
"guests": {
|
"guests": {
|
||||||
"label": "Guests"
|
"label": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"option": {
|
"option": {
|
||||||
@@ -3890,7 +3890,7 @@
|
|||||||
"option": {
|
"option": {
|
||||||
"cpu": "",
|
"cpu": "",
|
||||||
"memory": "",
|
"memory": "",
|
||||||
"gpu": "GPU",
|
"gpu": "",
|
||||||
"network": ""
|
"network": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -3908,7 +3908,7 @@
|
|||||||
"cpu": "",
|
"cpu": "",
|
||||||
"memory": "",
|
"memory": "",
|
||||||
"gpu": "",
|
"gpu": "",
|
||||||
"network": "NET",
|
"network": "",
|
||||||
"up": "",
|
"up": "",
|
||||||
"down": ""
|
"down": ""
|
||||||
}
|
}
|
||||||
@@ -4956,7 +4956,7 @@
|
|||||||
"title": "",
|
"title": "",
|
||||||
"status": {
|
"status": {
|
||||||
"idle": "",
|
"idle": "",
|
||||||
"running": "Running",
|
"running": "",
|
||||||
"error": "",
|
"error": "",
|
||||||
"disabled": ""
|
"disabled": ""
|
||||||
},
|
},
|
||||||
@@ -5858,7 +5858,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"search": {
|
"search": {
|
||||||
"placeholder": "Search for anything",
|
"placeholder": "",
|
||||||
"nothingFound": "",
|
"nothingFound": "",
|
||||||
"error": {
|
"error": {
|
||||||
"fetch": ""
|
"fetch": ""
|
||||||
|
|||||||
@@ -730,15 +730,15 @@
|
|||||||
"iconUrl": "URL del icono",
|
"iconUrl": "URL del icono",
|
||||||
"url": "URL",
|
"url": "URL",
|
||||||
"authType": "Tipo de autenticación",
|
"authType": "Tipo de autenticación",
|
||||||
"headerName": "Nombre del parámetro de cabecera/consulta",
|
"headerName": "",
|
||||||
"method": "Método",
|
"method": "Método",
|
||||||
"requestBody": "Cuerpo de la Solicitud",
|
"requestBody": "",
|
||||||
"displayType": "Tipo de visualización",
|
"displayType": "Tipo de visualización",
|
||||||
"jsonPath": "JSON Path",
|
"jsonPath": "",
|
||||||
"jsonPathHint": "Usa la sintaxis JSONPath para extraer valores, por ejemplo, $.data.temperature o $.items[0].name",
|
"jsonPathHint": "",
|
||||||
"label": "Nombre",
|
"label": "",
|
||||||
"unit": "Unidad",
|
"unit": "Unidad",
|
||||||
"mappings": "Asignaciones",
|
"mappings": "",
|
||||||
"tablePath": "",
|
"tablePath": "",
|
||||||
"tablePathHint": "",
|
"tablePathHint": "",
|
||||||
"columns": "",
|
"columns": "",
|
||||||
|
|||||||
@@ -604,7 +604,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"app": {
|
"app": {
|
||||||
"search": "Trouver une app",
|
"search": "Trouver une application",
|
||||||
"page": {
|
"page": {
|
||||||
"list": {
|
"list": {
|
||||||
"title": "Applications",
|
"title": "Applications",
|
||||||
@@ -3358,7 +3358,7 @@
|
|||||||
"option": {},
|
"option": {},
|
||||||
"titles": {
|
"titles": {
|
||||||
"stats": {
|
"stats": {
|
||||||
"main": "Stats des médias",
|
"main": "Statistiques des médias",
|
||||||
"approved": "Déjà approuvé",
|
"approved": "Déjà approuvé",
|
||||||
"pending": "En attente de validation",
|
"pending": "En attente de validation",
|
||||||
"processing": "En cours de traitement",
|
"processing": "En cours de traitement",
|
||||||
@@ -4118,7 +4118,7 @@
|
|||||||
"internalServerError": ""
|
"internalServerError": ""
|
||||||
},
|
},
|
||||||
"history": "Historique",
|
"history": "Historique",
|
||||||
"resolved": "Résolu",
|
"resolved": "Résolut",
|
||||||
"status": {
|
"status": {
|
||||||
"triggered": "",
|
"triggered": "",
|
||||||
"ok": ""
|
"ok": ""
|
||||||
@@ -4173,12 +4173,12 @@
|
|||||||
"chart": {
|
"chart": {
|
||||||
"cpu": {
|
"cpu": {
|
||||||
"title": "",
|
"title": "",
|
||||||
"subtitle": "Utilisation moyenne du CPU à l'échelle du système",
|
"subtitle": "",
|
||||||
"series": "CPU"
|
"series": "CPU"
|
||||||
},
|
},
|
||||||
"memory": {
|
"memory": {
|
||||||
"title": "Utilisation Mémoire",
|
"title": "Utilisation Mémoire",
|
||||||
"subtitle": "Utilisation précise au moment enregistré",
|
"subtitle": "",
|
||||||
"series": "",
|
"series": "",
|
||||||
"cache": ""
|
"cache": ""
|
||||||
},
|
},
|
||||||
@@ -4189,7 +4189,7 @@
|
|||||||
},
|
},
|
||||||
"diskIO": {
|
"diskIO": {
|
||||||
"title": "",
|
"title": "",
|
||||||
"subtitle": "Débit du système de fichiers root",
|
"subtitle": "",
|
||||||
"read": "",
|
"read": "",
|
||||||
"write": ""
|
"write": ""
|
||||||
},
|
},
|
||||||
@@ -5766,7 +5766,7 @@
|
|||||||
"label": "Médias"
|
"label": "Médias"
|
||||||
},
|
},
|
||||||
"apps": {
|
"apps": {
|
||||||
"label": "Apps",
|
"label": "Applications",
|
||||||
"new": {
|
"new": {
|
||||||
"label": "Nouveau"
|
"label": "Nouveau"
|
||||||
},
|
},
|
||||||
|
|||||||
File diff suppressed because it is too large.
Load diff
@@ -3452,7 +3452,7 @@
|
|||||||
"queued": ""
|
"queued": ""
|
||||||
},
|
},
|
||||||
"type": {
|
"type": {
|
||||||
"movie": "Film",
|
"movie": "",
|
||||||
"episode": ""
|
"episode": ""
|
||||||
},
|
},
|
||||||
"empty": {
|
"empty": {
|
||||||
|
|||||||
@@ -4887,11 +4887,11 @@
|
|||||||
"text": "Не індексувати сайт у пошукових системах і не показувати його в жодному результаті пошуку"
|
"text": "Не індексувати сайт у пошукових системах і не показувати його в жодному результаті пошуку"
|
||||||
},
|
},
|
||||||
"noFollow": {
|
"noFollow": {
|
||||||
"title": "Не переходити",
|
"title": "Не переходити (No follow)",
|
||||||
"text": "Не переходьте за посиланнями під час індексації. Якщо вимкнути це, то сканери намагатимуться переходити за всіма посиланнями на Homarr."
|
"text": "Не переходьте за посиланнями під час індексації. Якщо вимкнути це, то сканери намагатимуться переходити за всіма посиланнями на Homarr."
|
||||||
},
|
},
|
||||||
"noTranslate": {
|
"noTranslate": {
|
||||||
"title": "Не перекладати",
|
"title": "Не перекладати (No translate)",
|
||||||
"text": "Якщо мова сайту не є тією, яку користувач, імовірно, захоче прочитати, Google покаже посилання на переклад у результатах пошуку"
|
"text": "Якщо мова сайту не є тією, яку користувач, імовірно, захоче прочитати, Google покаже посилання на переклад у результатах пошуку"
|
||||||
},
|
},
|
||||||
"noSiteLinksSearchBox": {
|
"noSiteLinksSearchBox": {
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ export default function FirewallWidget({ integrationIds, width, itemId }: Widget
|
|||||||
const t = useI18n();
|
const t = useI18n();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ScrollArea h="100%" style={{ minHeight: 0 }}>
|
<ScrollArea h="100%">
|
||||||
<Group justify="space-between" w="100%" style={{ padding: "8px" }}>
|
<Group justify="space-between" w="100%" style={{ padding: "8px" }}>
|
||||||
<FirewallMenu
|
<FirewallMenu
|
||||||
onChange={handleSelect}
|
onChange={handleSelect}
|
||||||
|
|||||||
Generated
+10
-33
@@ -418,8 +418,8 @@ catalogs:
|
|||||||
specifier: 16.3.0-preview.9
|
specifier: 16.3.0-preview.9
|
||||||
version: 16.3.0-preview.9
|
version: 16.3.0-preview.9
|
||||||
next-auth:
|
next-auth:
|
||||||
specifier: 5.0.0-beta.32
|
specifier: 5.0.0-beta.31
|
||||||
version: 5.0.0-beta.32
|
version: 5.0.0-beta.31
|
||||||
next-intl:
|
next-intl:
|
||||||
specifier: 4.13.1
|
specifier: 4.13.1
|
||||||
version: 4.13.1
|
version: 4.13.1
|
||||||
@@ -567,7 +567,7 @@ overrides:
|
|||||||
brace-expansion@>=1.0.0 <=1.1.11: '>=5.0.7'
|
brace-expansion@>=1.0.0 <=1.1.11: '>=5.0.7'
|
||||||
esbuild@<=0.24.2: '>=0.28.1'
|
esbuild@<=0.24.2: '>=0.28.1'
|
||||||
form-data@>=4.0.0 <4.0.4: '>=4.0.6'
|
form-data@>=4.0.0 <4.0.4: '>=4.0.6'
|
||||||
hono@<4.6.5: '>=4.13.7'
|
hono@<4.6.5: '>=4.12.28'
|
||||||
linkifyjs@<4.3.2: '>=4.3.3'
|
linkifyjs@<4.3.2: '>=4.3.3'
|
||||||
nanoid@>=4.0.0 <5.0.9: '>=5.1.16'
|
nanoid@>=4.0.0 <5.0.9: '>=5.1.16'
|
||||||
prismjs@<1.30.0: '>=1.30.0'
|
prismjs@<1.30.0: '>=1.30.0'
|
||||||
@@ -1401,7 +1401,7 @@ importers:
|
|||||||
version: 16.3.0-preview.9(@babel/core@7.29.0(supports-color@10.2.2))(@opentelemetry/api@1.9.0)(@playwright/test@1.61.1)(@types/node@24.13.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.101.0)
|
version: 16.3.0-preview.9(@babel/core@7.29.0(supports-color@10.2.2))(@opentelemetry/api@1.9.0)(@playwright/test@1.61.1)(@types/node@24.13.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.101.0)
|
||||||
next-auth:
|
next-auth:
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 5.0.0-beta.32(next@16.3.0-preview.9(@babel/core@7.29.0(supports-color@10.2.2))(@opentelemetry/api@1.9.0)(@playwright/test@1.61.1)(@types/node@24.13.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.101.0))(react@19.2.7)
|
version: 5.0.0-beta.31(next@16.3.0-preview.9(@babel/core@7.29.0(supports-color@10.2.2))(@opentelemetry/api@1.9.0)(@playwright/test@1.61.1)(@types/node@24.13.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.101.0))(react@19.2.7)
|
||||||
react:
|
react:
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 19.2.7
|
version: 19.2.7
|
||||||
@@ -2872,20 +2872,6 @@ packages:
|
|||||||
nodemailer:
|
nodemailer:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@auth/core@0.41.3':
|
|
||||||
resolution: {integrity: sha512-sJ3JMHHkXMD3aOjopv7mOBTO1Ocw4b0fAEXJBz6k7YHLpYQI6C40jCUPc5fNvUKxXRXNE1/sRISA15UrwWJBTw==}
|
|
||||||
peerDependencies:
|
|
||||||
'@simplewebauthn/browser': ^9.0.1
|
|
||||||
'@simplewebauthn/server': ^9.0.2
|
|
||||||
nodemailer: ^7.0.7 || ^8.0.5
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@simplewebauthn/browser':
|
|
||||||
optional: true
|
|
||||||
'@simplewebauthn/server':
|
|
||||||
optional: true
|
|
||||||
nodemailer:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
'@auth/drizzle-adapter@1.11.2':
|
'@auth/drizzle-adapter@1.11.2':
|
||||||
resolution: {integrity: sha512-VOuj7REI8jfJjpSbsYwDM/Zrn55T6lS9Yc+29V+EXMcel8eqG7x+7LodNfd1WHjakfkLYi+qsbYUHB3E6aDA4w==}
|
resolution: {integrity: sha512-VOuj7REI8jfJjpSbsYwDM/Zrn55T6lS9Yc+29V+EXMcel8eqG7x+7LodNfd1WHjakfkLYi+qsbYUHB3E6aDA4w==}
|
||||||
|
|
||||||
@@ -5034,7 +5020,7 @@ packages:
|
|||||||
resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==}
|
resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==}
|
||||||
engines: {node: '>=18.14.1'}
|
engines: {node: '>=18.14.1'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
hono: '>=4.13.7'
|
hono: '>=4.12.28'
|
||||||
|
|
||||||
'@iconify/types@2.0.0':
|
'@iconify/types@2.0.0':
|
||||||
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
|
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
|
||||||
@@ -9421,7 +9407,6 @@ packages:
|
|||||||
|
|
||||||
crypto-js@4.2.0:
|
crypto-js@4.2.0:
|
||||||
resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==}
|
resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==}
|
||||||
deprecated: Active development of CryptoJS has been discontinued. This library is no longer maintained.
|
|
||||||
|
|
||||||
crypto-random-string@4.0.0:
|
crypto-random-string@4.0.0:
|
||||||
resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==}
|
resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==}
|
||||||
@@ -12268,13 +12253,13 @@ packages:
|
|||||||
neverpanic@0.0.8:
|
neverpanic@0.0.8:
|
||||||
resolution: {integrity: sha512-vVdkelrLxaow/fdWDumzNBO+jwm6X8bxeLJc34THtpj70u0C5QBkcV6CRCu2X726km7XD45N0A3QtYCla4RvKw==}
|
resolution: {integrity: sha512-vVdkelrLxaow/fdWDumzNBO+jwm6X8bxeLJc34THtpj70u0C5QBkcV6CRCu2X726km7XD45N0A3QtYCla4RvKw==}
|
||||||
|
|
||||||
next-auth@5.0.0-beta.32:
|
next-auth@5.0.0-beta.31:
|
||||||
resolution: {integrity: sha512-CGlChIEWZ6LltNVxrE5yiySMID+Idpmry47JYA5lLwgD8Sx02a8M65VL0TWVz9nbnOioS/tCW/rP/0+mE7Qp4Q==}
|
resolution: {integrity: sha512-1OBgCKPzo+S7UWWMp3xgvGvIJ0OpV7B3vR4ZDRqD9a4Ch+OT6dakLXG9ivhtmIWVa71nTSXattOHyCg8sNi8/Q==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@simplewebauthn/browser': ^9.0.1
|
'@simplewebauthn/browser': ^9.0.1
|
||||||
'@simplewebauthn/server': ^9.0.2
|
'@simplewebauthn/server': ^9.0.2
|
||||||
next: ^14.0.0-0 || ^15.0.0 || ^16.0.0
|
next: ^14.0.0-0 || ^15.0.0 || ^16.0.0
|
||||||
nodemailer: ^7.0.7 || ^8.0.5
|
nodemailer: ^7.0.7
|
||||||
react: ^18.2.0 || ^19.0.0
|
react: ^18.2.0 || ^19.0.0
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
'@simplewebauthn/browser':
|
'@simplewebauthn/browser':
|
||||||
@@ -15801,14 +15786,6 @@ snapshots:
|
|||||||
preact: 10.24.3
|
preact: 10.24.3
|
||||||
preact-render-to-string: 6.5.11(preact@10.24.3)
|
preact-render-to-string: 6.5.11(preact@10.24.3)
|
||||||
|
|
||||||
'@auth/core@0.41.3':
|
|
||||||
dependencies:
|
|
||||||
'@panva/hkdf': 1.2.1
|
|
||||||
jose: 6.2.3
|
|
||||||
oauth4webapi: 3.3.0
|
|
||||||
preact: 10.24.3
|
|
||||||
preact-render-to-string: 6.5.11(preact@10.24.3)
|
|
||||||
|
|
||||||
'@auth/drizzle-adapter@1.11.2':
|
'@auth/drizzle-adapter@1.11.2':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@auth/core': 0.41.2
|
'@auth/core': 0.41.2
|
||||||
@@ -26814,9 +26791,9 @@ snapshots:
|
|||||||
|
|
||||||
neverpanic@0.0.8: {}
|
neverpanic@0.0.8: {}
|
||||||
|
|
||||||
next-auth@5.0.0-beta.32(next@16.3.0-preview.9(@babel/core@7.29.0(supports-color@10.2.2))(@opentelemetry/api@1.9.0)(@playwright/test@1.61.1)(@types/node@24.13.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.101.0))(react@19.2.7):
|
next-auth@5.0.0-beta.31(next@16.3.0-preview.9(@babel/core@7.29.0(supports-color@10.2.2))(@opentelemetry/api@1.9.0)(@playwright/test@1.61.1)(@types/node@24.13.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.101.0))(react@19.2.7):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@auth/core': 0.41.3
|
'@auth/core': 0.41.2
|
||||||
next: 16.3.0-preview.9(@babel/core@7.29.0(supports-color@10.2.2))(@opentelemetry/api@1.9.0)(@playwright/test@1.61.1)(@types/node@24.13.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.101.0)
|
next: 16.3.0-preview.9(@babel/core@7.29.0(supports-color@10.2.2))(@opentelemetry/api@1.9.0)(@playwright/test@1.61.1)(@types/node@24.13.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.101.0)
|
||||||
react: 19.2.7
|
react: 19.2.7
|
||||||
|
|
||||||
|
|||||||
+2
-8
@@ -146,7 +146,7 @@ catalog:
|
|||||||
maria2: ^0.4.1
|
maria2: ^0.4.1
|
||||||
mysql2: 3.22.6
|
mysql2: 3.22.6
|
||||||
next: 16.3.0-preview.9
|
next: 16.3.0-preview.9
|
||||||
next-auth: 5.0.0-beta.32
|
next-auth: 5.0.0-beta.31
|
||||||
next-intl: 4.13.1
|
next-intl: 4.13.1
|
||||||
node-loader: ^2.1.0
|
node-loader: ^2.1.0
|
||||||
octokit: ^5.0.5
|
octokit: ^5.0.5
|
||||||
@@ -210,12 +210,6 @@ minimumReleaseAgeExclude:
|
|||||||
- undici@7.28.0
|
- undici@7.28.0
|
||||||
# Renovate security update: esbuild@0.28.1
|
# Renovate security update: esbuild@0.28.1
|
||||||
- esbuild@0.28.1
|
- esbuild@0.28.1
|
||||||
# Renovate security update: @auth/core@0.41.3
|
|
||||||
- "@auth/core@0.41.3"
|
|
||||||
# Renovate security update: hono@4.13.7
|
|
||||||
- hono@4.13.7
|
|
||||||
# Renovate security update: next-auth@5.0.0-beta.32
|
|
||||||
- next-auth@5.0.0-beta.32
|
|
||||||
overrides:
|
overrides:
|
||||||
"@babel/helpers@<7.26.10": ">=7.29.7"
|
"@babel/helpers@<7.26.10": ">=7.29.7"
|
||||||
"@babel/runtime@<7.26.10": ">=7.29.7"
|
"@babel/runtime@<7.26.10": ">=7.29.7"
|
||||||
@@ -224,7 +218,7 @@ overrides:
|
|||||||
"brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.7"
|
"brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.7"
|
||||||
"esbuild@<=0.24.2": ">=0.28.1"
|
"esbuild@<=0.24.2": ">=0.28.1"
|
||||||
"form-data@>=4.0.0 <4.0.4": ">=4.0.6"
|
"form-data@>=4.0.0 <4.0.4": ">=4.0.6"
|
||||||
"hono@<4.6.5": ">=4.13.7"
|
"hono@<4.6.5": ">=4.12.28"
|
||||||
"linkifyjs@<4.3.2": ">=4.3.3"
|
"linkifyjs@<4.3.2": ">=4.3.3"
|
||||||
"nanoid@>=4.0.0 <5.0.9": ">=5.1.16"
|
"nanoid@>=4.0.0 <5.0.9": ">=5.1.16"
|
||||||
"prismjs@<1.30.0": ">=1.30.0"
|
"prismjs@<1.30.0": ">=1.30.0"
|
||||||
|
|||||||
+5
-6
@@ -21,18 +21,20 @@ fi
|
|||||||
export AUTH_SECRET=$(openssl rand -base64 32)
|
export AUTH_SECRET=$(openssl rand -base64 32)
|
||||||
|
|
||||||
# Start nginx proxy
|
# Start nginx proxy
|
||||||
# 1. Create the nginx configuration file from the template
|
# 1. Replace the HOSTNAME in the nginx template file
|
||||||
# 2. Start the nginx server
|
# 2. Create the nginx configuration file from the template
|
||||||
|
# 3. Start the nginx server
|
||||||
# Only listen on IPv6 when the host actually has IPv6 configured (#4596).
|
# Only listen on IPv6 when the host actually has IPv6 configured (#4596).
|
||||||
# Otherwise nginx aborts with "socket() [::]:7575 failed (97: Address family
|
# Otherwise nginx aborts with "socket() [::]:7575 failed (97: Address family
|
||||||
# not supported by protocol)". Check HOMARR_DISABLE_IPV6 first so users can
|
# not supported by protocol)". Check HOMARR_DISABLE_IPV6 first so users can
|
||||||
# force IPv4-only even when the host supports IPv6, then probe for IPv6
|
# force IPv4-only even when the host supports IPv6, then probe for IPv6
|
||||||
# addresses via grep (not -s: proc files always report size 0).
|
# addresses via grep (not -s: proc files always report size 0).
|
||||||
|
export HOSTNAME
|
||||||
export NGINX_LISTEN_IPV6=''
|
export NGINX_LISTEN_IPV6=''
|
||||||
if [ "${HOMARR_DISABLE_IPV6:-false}" != "true" ] && grep -q . /proc/net/if_inet6 2>/dev/null; then
|
if [ "${HOMARR_DISABLE_IPV6:-false}" != "true" ] && grep -q . /proc/net/if_inet6 2>/dev/null; then
|
||||||
NGINX_LISTEN_IPV6='listen [::]:7575;'
|
NGINX_LISTEN_IPV6='listen [::]:7575;'
|
||||||
fi
|
fi
|
||||||
envsubst '${NGINX_LISTEN_IPV6}' < /etc/nginx/templates/nginx.conf > /etc/nginx/nginx.conf
|
envsubst '${HOSTNAME} ${NGINX_LISTEN_IPV6}' < /etc/nginx/templates/nginx.conf > /etc/nginx/nginx.conf
|
||||||
# Start services in the background and store their PIDs
|
# Start services in the background and store their PIDs
|
||||||
nginx -g 'daemon off;' &
|
nginx -g 'daemon off;' &
|
||||||
NGINX_PID=$!
|
NGINX_PID=$!
|
||||||
@@ -65,9 +67,6 @@ terminate() {
|
|||||||
|
|
||||||
trap terminate TERM INT
|
trap terminate TERM INT
|
||||||
|
|
||||||
# Next.js standalone uses HOSTNAME as its bind address. Docker's generated
|
|
||||||
# hostname can be unresolvable, so bind explicitly while nginx uses loopback.
|
|
||||||
export HOSTNAME=0.0.0.0
|
|
||||||
node apps/nextjs/server.js &
|
node apps/nextjs/server.js &
|
||||||
NEXTJS_PID=$!
|
NEXTJS_PID=$!
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
[{"login":"ajnart","avatar_url":"https://avatars.githubusercontent.com/u/49837342?v=4"},{"login":"manuel-rw","avatar_url":"https://avatars.githubusercontent.com/u/30572287?v=4"},{"login":"Meierschlumpf","avatar_url":"https://avatars.githubusercontent.com/u/63781622?v=4"},{"login":"SeDemal","avatar_url":"https://avatars.githubusercontent.com/u/26098587?v=4"},{"login":"lammersbjorn","avatar_url":"https://avatars.githubusercontent.com/u/71191962?v=4"},{"login":"LarveyOfficial","avatar_url":"https://avatars.githubusercontent.com/u/39219859?v=4"},{"login":"c00ldude1oo","avatar_url":"https://avatars.githubusercontent.com/u/15677803?v=4"},{"login":"InterN0te","avatar_url":"https://avatars.githubusercontent.com/u/10882916?v=4"},{"login":"Aimsucks","avatar_url":"https://avatars.githubusercontent.com/u/1828486?v=4"},{"login":"JannesV","avatar_url":"https://avatars.githubusercontent.com/u/5984244?v=4"},{"login":"MauriceNino","avatar_url":"https://avatars.githubusercontent.com/u/18658092?v=4"},{"login":"hillaliy","avatar_url":"https://avatars.githubusercontent.com/u/950010?v=4"},{"login":"Skeeww","avatar_url":"https://avatars.githubusercontent.com/u/9639992?v=4"},{"login":"RichyHBM","avatar_url":"https://avatars.githubusercontent.com/u/5472275?v=4"},{"login":"Bonfire","avatar_url":"https://avatars.githubusercontent.com/u/5704760?v=4"},{"login":"wieli99","avatar_url":"https://avatars.githubusercontent.com/u/46794825?v=4"},{"login":"ishaanparlikar","avatar_url":"https://avatars.githubusercontent.com/u/43013132?v=4"},{"login":"Zareix","avatar_url":"https://avatars.githubusercontent.com/u/29818713?v=4"},{"login":"tuggan","avatar_url":"https://avatars.githubusercontent.com/u/4325608?v=4"},{"login":"Spillebulle","avatar_url":"https://avatars.githubusercontent.com/u/46653946?v=4"},{"login":"marektancak0106","avatar_url":"https://avatars.githubusercontent.com/u/25422667?v=4"},{"login":"spkesDE","avatar_url":"https://avatars.githubusercontent.com/u/1682314?v=4"},{"login":"j3lte","avatar_url":"https://avatars.githubusercontent.com/u/2557568?v=4"},{"login":"dslatt","avatar_url":"https://avatars.githubusercontent.com/u/5211001?v=4"},{"login":"Malong11-007","avatar_url":"https://avatars.githubusercontent.com/u/40298510?v=4"},{"login":"StefanB7","avatar_url":"https://avatars.githubusercontent.com/u/22056509?v=4"},{"login":"souravghosh01","avatar_url":"https://avatars.githubusercontent.com/u/37548139?v=4"},{"login":"SR3u","avatar_url":"https://avatars.githubusercontent.com/u/2380522?v=4"},{"login":"Rikpat","avatar_url":"https://avatars.githubusercontent.com/u/33869814?v=4"},{"login":"NormanJS","avatar_url":"https://avatars.githubusercontent.com/u/83409549?v=4"},{"login":"No-Maines-Land","avatar_url":"https://avatars.githubusercontent.com/u/20687725?v=4"},{"login":"stark1tty","avatar_url":"https://avatars.githubusercontent.com/u/69326376?v=4"},{"login":"Momcilo42","avatar_url":"https://avatars.githubusercontent.com/u/10118137?v=4"},{"login":"marius-arch","avatar_url":"https://avatars.githubusercontent.com/u/72494359?v=4"},{"login":"lumilias","avatar_url":"https://avatars.githubusercontent.com/u/10852161?v=4"},{"login":"Havock94","avatar_url":"https://avatars.githubusercontent.com/u/7635248?v=4"},{"login":"Lollyde","avatar_url":"https://avatars.githubusercontent.com/u/11347524?v=4"},{"login":"krishnamuppaneni","avatar_url":"https://avatars.githubusercontent.com/u/4703366?v=4"},{"login":"devtobi","avatar_url":"https://avatars.githubusercontent.com/u/28538704?v=4"},{"login":"TyxTang","avatar_url":"https://avatars.githubusercontent.com/u/90897955?v=4"},{"login":"beanbag420","avatar_url":"https://avatars.githubusercontent.com/u/19630511?v=4"},{"login":"WillyJL","avatar_url":"https://avatars.githubusercontent.com/u/49810075?v=4"},{"login":"anonysoul","avatar_url":"https://avatars.githubusercontent.com/u/105715150?v=4"},{"login":"cospeedster","avatar_url":"https://avatars.githubusercontent.com/u/52749645?v=4"},{"login":"diederbert","avatar_url":"https://avatars.githubusercontent.com/u/162878798?v=4"},{"login":"digdilem","avatar_url":"https://avatars.githubusercontent.com/u/4052275?v=4"},{"login":"dinghino","avatar_url":"https://avatars.githubusercontent.com/u/14729459?v=4"},{"login":"gfomichev","avatar_url":"https://avatars.githubusercontent.com/u/1596146?v=4"},{"login":"gnattu","avatar_url":"https://avatars.githubusercontent.com/u/12995396?v=4"},{"login":"tuxpizza","avatar_url":"https://avatars.githubusercontent.com/u/84710786?v=4"},{"login":"xmarkurion","avatar_url":"https://avatars.githubusercontent.com/u/46654687?v=4"},{"login":"huanga","avatar_url":"https://avatars.githubusercontent.com/u/732970?v=4"},{"login":"taos15","avatar_url":"https://avatars.githubusercontent.com/u/122130728?v=4"},{"login":"arghyadipchak","avatar_url":"https://avatars.githubusercontent.com/u/32430374?v=4"},{"login":"AuthorShin","avatar_url":"https://avatars.githubusercontent.com/u/4959043?v=4"},{"login":"benniblot","avatar_url":"https://avatars.githubusercontentLine truncated
|
[{"login":"ajnart","avatar_url":"https://avatars.githubusercontent.com/u/49837342?v=4"},{"login":"manuel-rw","avatar_url":"https://avatars.githubusercontent.com/u/30572287?v=4"},{"login":"Meierschlumpf","avatar_url":"https://avatars.githubusercontent.com/u/63781622?v=4"},{"login":"SeDemal","avatar_url":"https://avatars.githubusercontent.com/u/26098587?v=4"},{"login":"lammersbjorn","avatar_url":"https://avatars.githubusercontent.com/u/71191962?v=4"},{"login":"LarveyOfficial","avatar_url":"https://avatars.githubusercontent.com/u/39219859?v=4"},{"login":"c00ldude1oo","avatar_url":"https://avatars.githubusercontent.com/u/15677803?v=4"},{"login":"InterN0te","avatar_url":"https://avatars.githubusercontent.com/u/10882916?v=4"},{"login":"Aimsucks","avatar_url":"https://avatars.githubusercontent.com/u/1828486?v=4"},{"login":"JannesV","avatar_url":"https://avatars.githubusercontent.com/u/5984244?v=4"},{"login":"MauriceNino","avatar_url":"https://avatars.githubusercontent.com/u/18658092?v=4"},{"login":"hillaliy","avatar_url":"https://avatars.githubusercontent.com/u/950010?v=4"},{"login":"Skeeww","avatar_url":"https://avatars.githubusercontent.com/u/9639992?v=4"},{"login":"RichyHBM","avatar_url":"https://avatars.githubusercontent.com/u/5472275?v=4"},{"login":"Bonfire","avatar_url":"https://avatars.githubusercontent.com/u/5704760?v=4"},{"login":"wieli99","avatar_url":"https://avatars.githubusercontent.com/u/46794825?v=4"},{"login":"ishaanparlikar","avatar_url":"https://avatars.githubusercontent.com/u/43013132?v=4"},{"login":"Zareix","avatar_url":"https://avatars.githubusercontent.com/u/29818713?v=4"},{"login":"tuggan","avatar_url":"https://avatars.githubusercontent.com/u/4325608?v=4"},{"login":"Spillebulle","avatar_url":"https://avatars.githubusercontent.com/u/46653946?v=4"},{"login":"marektancak0106","avatar_url":"https://avatars.githubusercontent.com/u/25422667?v=4"},{"login":"spkesDE","avatar_url":"https://avatars.githubusercontent.com/u/1682314?v=4"},{"login":"j3lte","avatar_url":"https://avatars.githubusercontent.com/u/2557568?v=4"},{"login":"dslatt","avatar_url":"https://avatars.githubusercontent.com/u/5211001?v=4"},{"login":"Malong11-007","avatar_url":"https://avatars.githubusercontent.com/u/40298510?v=4"},{"login":"StefanB7","avatar_url":"https://avatars.githubusercontent.com/u/22056509?v=4"},{"login":"souravghosh01","avatar_url":"https://avatars.githubusercontent.com/u/37548139?v=4"},{"login":"SR3u","avatar_url":"https://avatars.githubusercontent.com/u/2380522?v=4"},{"login":"Rikpat","avatar_url":"https://avatars.githubusercontent.com/u/33869814?v=4"},{"login":"NormanJS","avatar_url":"https://avatars.githubusercontent.com/u/83409549?v=4"},{"login":"No-Maines-Land","avatar_url":"https://avatars.githubusercontent.com/u/20687725?v=4"},{"login":"stark1tty","avatar_url":"https://avatars.githubusercontent.com/u/69326376?v=4"},{"login":"Momcilo42","avatar_url":"https://avatars.githubusercontent.com/u/10118137?v=4"},{"login":"marius-arch","avatar_url":"https://avatars.githubusercontent.com/u/72494359?v=4"},{"login":"Lumilias","avatar_url":"https://avatars.githubusercontent.com/u/10852161?v=4"},{"login":"Havock94","avatar_url":"https://avatars.githubusercontent.com/u/7635248?v=4"},{"login":"Lollyde","avatar_url":"https://avatars.githubusercontent.com/u/11347524?v=4"},{"login":"krishnamuppaneni","avatar_url":"https://avatars.githubusercontent.com/u/4703366?v=4"},{"login":"devtobi","avatar_url":"https://avatars.githubusercontent.com/u/28538704?v=4"},{"login":"TyxTang","avatar_url":"https://avatars.githubusercontent.com/u/90897955?v=4"},{"login":"beanbag420","avatar_url":"https://avatars.githubusercontent.com/u/19630511?v=4"},{"login":"WillyJL","avatar_url":"https://avatars.githubusercontent.com/u/49810075?v=4"},{"login":"anonysoul","avatar_url":"https://avatars.githubusercontent.com/u/105715150?v=4"},{"login":"cospeedster","avatar_url":"https://avatars.githubusercontent.com/u/52749645?v=4"},{"login":"diederbert","avatar_url":"https://avatars.githubusercontent.com/u/162878798?v=4"},{"login":"digdilem","avatar_url":"https://avatars.githubusercontent.com/u/4052275?v=4"},{"login":"dinghino","avatar_url":"https://avatars.githubusercontent.com/u/14729459?v=4"},{"login":"gfomichev","avatar_url":"https://avatars.githubusercontent.com/u/1596146?v=4"},{"login":"gnattu","avatar_url":"https://avatars.githubusercontent.com/u/12995396?v=4"},{"login":"tuxpizza","avatar_url":"https://avatars.githubusercontent.com/u/84710786?v=4"},{"login":"xmarkurion","avatar_url":"https://avatars.githubusercontent.com/u/46654687?v=4"},{"login":"huanga","avatar_url":"https://avatars.githubusercontent.com/u/732970?v=4"},{"login":"taos15","avatar_url":"https://avatars.githubusercontent.com/u/122130728?v=4"},{"login":"arghyadipchak","avatar_url":"https://avatars.githubusercontent.com/u/32430374?v=4"},{"login":"AuthorShin","avatar_url":"https://avatars.githubusercontent.com/u/4959043?v=4"},{"login":"benniblot","avatar_url":"https://avatars.githubusercontentLine truncated
|
||||||
@@ -1 +1 @@
|
|||||||
[{"username":"carlchina","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/6697/medium/d22bbe7797bbeb30dbdc73a5648d329a_default.png"},{"username":"zielmann","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/7795/medium/ad22b8b8d5eb33e4154d53a454c862fd_default.png"},{"username":"Thalyn","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12494028/medium/5faf5acc945a874ed116c4567edaa09f_default.png"},{"username":"magnushj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12503488/medium/68f32e33ea7b891960055c9f831f7344_default.png"},{"username":"almontegil","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12580457/medium/f4136cacbdfdb4c28ae7f85dc5f840db_default.png"},{"username":"andibing","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12664938/medium/b8be63e4dcb2e791ced1ffc9e3a049a5.jpg"},{"username":"gronare","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12680911/medium/c6eb14d1504156f34a158e507f73aa3d_default.png"},{"username":"SmartPhoneLover","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12701640/medium/ec95486662ec875cda080e778c3ff702.jpg"},{"username":"marcelotk_15","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12773227/medium/ecf6bea16ab0c873c131df2154ee9718_default.png"},{"username":"S3OD177","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13051544/medium/11dd990837f61f7e8f7d36b041a7fddb_default.png"},{"username":"marcg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13153301/medium/ebcf60fbf27deb148ec40a659566c6ff_default.png"},{"username":"BeersTeddy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13185230/medium/2f1f4e1effe74a23422b195cbefb2a95_default.png"},{"username":"jamesmcmahon0","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13245578/medium/586aa873b4abddbd9abc6f3de99ab70e.jpeg"},{"username":"b1nar10","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13286752/medium/aaa1f083e04c572f953fde4563171e4a.jpeg"},{"username":"vannCN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13330448/medium/9b8a9ee3611e51e951e22d5fd4eb7d8d.jpg"},{"username":"binswm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13343482/medium/45dde0e6097b9b72705d2eba9dbbc276_default.png"},{"username":"SkewRam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13496556/medium/188f5c2deb7938eda51eb786cc4539ca.jpeg"},{"username":"raphcatarino","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13547726/medium/b003511e67df13a4b4b5689488fa8099.jpg"},{"username":"shillos5","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13600557/medium/b17650b2b84f829d54fa548c44c1ab27.jpeg"},{"username":"wolong98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13641407/medium/f4634edc58c7857a357e5293543c15cf.jpg"},{"username":"spair0039","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14012333/medium/72430e96027c09c19141cac38eae4617.png"},{"username":"MajorMarcin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14072183/medium/0a197e64bb92b6ea94cecbb607512c45.jpg"},{"username":"KosmoMoustache","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14103535/medium/51c438cdd9f86e8811c75f4869de479c.png"},{"username":"Soochaehwa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14118689/medium/496a1ce63111547bf455a1e0a7ac75f1_default.png"},{"username":"garryfield","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14187035/medium/520c964706676045f6eeec1b08edc880.jpg"},{"username":"droidenko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14444264/medium/4aa3a8e824f72bc9e5ec0d8de307095e.jpeg"},{"username":"maathis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14489950/medium/6eeddf13a757ee35f78f1763f94d95e1.jpeg"},{"username":"bukvam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14546502/medium/a819dc40a13c57395a17dc46e847d3ce.jpg"},{"username":"gm.cinalli","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14670666/medium/2d466a0fdbda40764526be86c97c0ab4.jpeg"},{"username":"antoine2tt","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14722148/medium/f88d926900862dd59007ea4b3419cb9d.png"},{"username":"cretzen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14799754/medium/3ba5c1805ec20c000d5810c07985afe9.jpg"},{"username":"ktKongTong","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14817246/medium/97cfc3c028dbdaf85ebd1102da71e58c.jpeg"},{"username":"marinkaberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14861042/medium/2d5c4e62613f03082f3e645fa92efd59.jpeg"},{"username":"djismgaming","avatarUrl":"https://crowLine truncated
|
[{"username":"carlchina","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/6697/medium/d22bbe7797bbeb30dbdc73a5648d329a_default.png"},{"username":"zielmann","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/7795/medium/ad22b8b8d5eb33e4154d53a454c862fd_default.png"},{"username":"Thalyn","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12494028/medium/5faf5acc945a874ed116c4567edaa09f_default.png"},{"username":"magnushj","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12503488/medium/68f32e33ea7b891960055c9f831f7344_default.png"},{"username":"almontegil","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12580457/medium/f4136cacbdfdb4c28ae7f85dc5f840db_default.png"},{"username":"andibing","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12664938/medium/b8be63e4dcb2e791ced1ffc9e3a049a5.jpg"},{"username":"gronare","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12680911/medium/c6eb14d1504156f34a158e507f73aa3d_default.png"},{"username":"SmartPhoneLover","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12701640/medium/ec95486662ec875cda080e778c3ff702.jpg"},{"username":"marcelotk_15","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/12773227/medium/ecf6bea16ab0c873c131df2154ee9718_default.png"},{"username":"S3OD177","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13051544/medium/11dd990837f61f7e8f7d36b041a7fddb_default.png"},{"username":"marcg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13153301/medium/ebcf60fbf27deb148ec40a659566c6ff_default.png"},{"username":"BeersTeddy","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13185230/medium/2f1f4e1effe74a23422b195cbefb2a95_default.png"},{"username":"jamesmcmahon0","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13245578/medium/586aa873b4abddbd9abc6f3de99ab70e.jpeg"},{"username":"b1nar10","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13286752/medium/aaa1f083e04c572f953fde4563171e4a.jpeg"},{"username":"vannCN","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13330448/medium/9b8a9ee3611e51e951e22d5fd4eb7d8d.jpg"},{"username":"binswm","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13343482/medium/45dde0e6097b9b72705d2eba9dbbc276_default.png"},{"username":"SkewRam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13496556/medium/188f5c2deb7938eda51eb786cc4539ca.jpeg"},{"username":"raphcatarino","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13547726/medium/b003511e67df13a4b4b5689488fa8099.jpg"},{"username":"shillos5","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13600557/medium/b17650b2b84f829d54fa548c44c1ab27.jpeg"},{"username":"wolong98","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/13641407/medium/f4634edc58c7857a357e5293543c15cf.jpg"},{"username":"spair0039","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14012333/medium/72430e96027c09c19141cac38eae4617.png"},{"username":"MajorMarcin","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14072183/medium/0a197e64bb92b6ea94cecbb607512c45.jpg"},{"username":"KosmoMoustache","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14103535/medium/51c438cdd9f86e8811c75f4869de479c.png"},{"username":"Soochaehwa","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14118689/medium/496a1ce63111547bf455a1e0a7ac75f1_default.png"},{"username":"garryfield","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14187035/medium/520c964706676045f6eeec1b08edc880.jpg"},{"username":"droidenko","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14444264/medium/4aa3a8e824f72bc9e5ec0d8de307095e.jpeg"},{"username":"maathis","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14489950/medium/6eeddf13a757ee35f78f1763f94d95e1.jpeg"},{"username":"bukvam","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14546502/medium/a819dc40a13c57395a17dc46e847d3ce.jpg"},{"username":"gm.cinalli","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14670666/medium/2d466a0fdbda40764526be86c97c0ab4.jpeg"},{"username":"antoine2tt","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14722148/medium/f88d926900862dd59007ea4b3419cb9d.png"},{"username":"cretzen","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14799754/medium/3ba5c1805ec20c000d5810c07985afe9.jpg"},{"username":"ktKongTong","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14817246/medium/97cfc3c028dbdaf85ebd1102da71e58c.jpeg"},{"username":"marinkaberg","avatarUrl":"https://crowdin-static.cf-downloads.crowdin.com/avatar/14861042/medium/2d5c4e62613f03082f3e645fa92efd59.jpeg"},{"username":"djismgaming","avatarUrl":"https://crowLine truncated
|
||||||
Reference in new issue
Block a user