api: フロントエンドのAPI URLを本番ドメインにハードコード
シングルユーザー運用のため env フォールバックを廃止し、 APIオリジンを https://api.altdock.app.amania.jp に固定した。 - dashboard.ts / PublicSourceView.tsx の localhost:4000 フォールバックを削除 - API側 config.ts の PUBLIC_BASE_URL/WEB_ORIGIN デフォルトも本番ドメインに - compose/web の NEXT_PUBLIC_API_BASE_URL 環境変数を削除(コード固定のため)
This commit is contained in:
@@ -5,7 +5,6 @@ PORT=4000
|
||||
# http://localhost:4000 instead.
|
||||
PUBLIC_BASE_URL=https://api.altdock.app.amania.jp
|
||||
WEB_ORIGIN=https://altdock.app.amania.jp
|
||||
NEXT_PUBLIC_API_BASE_URL=https://api.altdock.app.amania.jp
|
||||
NEXT_PUBLIC_AUTH_MODE=demo
|
||||
# Vite dev server Host allow-list (comma-separated, or * for any host).
|
||||
# On Coolify set this to your public domain, e.g. altdock.app.amania.jp
|
||||
|
||||
@@ -31,7 +31,9 @@ export type Notice = {
|
||||
|
||||
export type Visibility = SourceRecord["visibility"];
|
||||
|
||||
export const API_BASE = process.env.NEXT_PUBLIC_API_BASE_URL || "http://localhost:4000";
|
||||
// Single-user deployment: hard-code the public API origin. The API is served
|
||||
// at api.altdock.app.amania.jp; there is no per-environment fallback anymore.
|
||||
export const API_BASE = "https://api.altdock.app.amania.jp";
|
||||
export const AUTH_MODE = process.env.NEXT_PUBLIC_AUTH_MODE || "demo";
|
||||
export const DEMO_HEADERS = { "x-demo-user": "demo@altdock.local" };
|
||||
|
||||
@@ -102,4 +104,3 @@ export function flattenApps(dashboard: DashboardData) {
|
||||
export function flattenReleases(dashboard: DashboardData) {
|
||||
return dashboard.sources.flatMap((entry) => entry.releases.map((release) => ({ release, source: entry.source, app: entry.apps.find((app) => app.id === release.appId) })));
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,8 @@ type SourceDocument = {
|
||||
apps: Array<{ name: string; bundleIdentifier: string; developerName: string; subtitle?: string; localizedDescription: string; iconURL?: string; category: string; versions: Array<{ version: string; buildVersion: string; date: string; downloadURL: string; size: number }> }>;
|
||||
};
|
||||
|
||||
const API_BASE = process.env.NEXT_PUBLIC_API_BASE_URL || "http://localhost:4000";
|
||||
// Single-user deployment: hard-code the public API origin.
|
||||
const API_BASE = "https://api.altdock.app.amania.jp";
|
||||
|
||||
function formatBytes(value: number) {
|
||||
if (!value) return "0 B";
|
||||
|
||||
@@ -14,8 +14,8 @@ const schema = z.object({
|
||||
NODE_ENV: z.enum(["development", "test", "production"]).default("development"),
|
||||
HOST: z.string().default("0.0.0.0"),
|
||||
PORT: numberFromEnv.default(4000),
|
||||
PUBLIC_BASE_URL: z.string().url().default("http://localhost:4000"),
|
||||
WEB_ORIGIN: z.string().url().default("http://localhost:3001"),
|
||||
PUBLIC_BASE_URL: z.string().url().default("https://api.altdock.app.amania.jp"),
|
||||
WEB_ORIGIN: z.string().url().default("https://altdock.app.amania.jp"),
|
||||
DATABASE_URL: z.string().optional(),
|
||||
STORAGE_MODE: z.enum(["local", "s3"]).default("local"),
|
||||
LOCAL_STORAGE_DIR: z.string().default(".data/storage"),
|
||||
|
||||
+1
-1
@@ -113,7 +113,7 @@ services:
|
||||
# vinext uses --hostname/--port (not vite's --host) to bind the dev server.
|
||||
command: npm run dev -- --hostname 0.0.0.0 --port 3001
|
||||
environment:
|
||||
NEXT_PUBLIC_API_BASE_URL: ${NEXT_PUBLIC_API_BASE_URL:-https://api.altdock.app.amania.jp}
|
||||
# API origin is hard-coded in app/lib/dashboard.ts (single-user deploy).
|
||||
NEXT_PUBLIC_AUTH_MODE: ${AUTH_MODE:-demo}
|
||||
# Hosts allowed to reach the dev server (comma-separated, or * for any).
|
||||
VITE_ALLOWED_HOSTS: ${VITE_ALLOWED_HOSTS:-altdock.app.amania.jp}
|
||||
|
||||
Reference in New Issue
Block a user