diff --git a/packages/daemon/src/constants.ts b/packages/daemon/src/constants.ts index cf053598..5773e0c0 100644 --- a/packages/daemon/src/constants.ts +++ b/packages/daemon/src/constants.ts @@ -10,11 +10,12 @@ dotenv.config({ path: `../../.env` }) */ export const PUBLIC_HTTP_PROTOCOL = env('PUBLIC_HTTP_PROTOCOL', 'https') -export const PUBLIC_APP_DOMAIN = env('PUBLIC_APP_DOMAIN', `app.pockethost.io`) -export const PUBLIC_BLOG_DOMAIN = env('PUBLIC_BLOG_DOMAIN', `pockethost.io`) +export const PUBLIC_APP_SUBDOMAIN = env('PUBLIC_APP_SUBDOMAIN', `app`) +export const PUBLIC_BLOG_SUBDOMAIN = env('PUBLIC_BLOG_DOMAIN', ``) +export const PUBLIC_APEX_DOMAIN = env('PUBLIC_APEX_DOMAIN', `pockethost.lvh.me`) export const PUBLIC_EDGE_APEX_DOMAIN = env( 'PUBLIC_EDGE_APEX_DOMAIN', - `pockethost.io`, + `pockethost.lvh.me`, ) export const PUBLIC_MOTHERSHIP_NAME = env( 'PUBLIC_MOTHERSHIP_NAME', @@ -22,6 +23,18 @@ export const PUBLIC_MOTHERSHIP_NAME = env( ) export const PUBLIC_DEBUG = envb('PUBLIC_DEBUG', false) +export const mkFqDomain = (subdomain: string) => + `${subdomain ? `${subdomain}.` : ''}${PUBLIC_APEX_DOMAIN}` +export const mkUrl = (subdomain: string, path = '') => + `${PUBLIC_HTTP_PROTOCOL}://${mkFqDomain(subdomain)}${path}` +export const mkAppUrl = (path = '') => mkUrl(PUBLIC_APP_SUBDOMAIN, path) +export const mkBlogUrl = (path = '') => mkUrl(PUBLIC_BLOG_SUBDOMAIN, path) +export const mkDocUrl = (path = '') => mkBlogUrl(join('docs', path)) +export const mkEdgeSubdomain = (subdomain: string) => + mkFqDomain(`${subdomain}.${PUBLIC_EDGE_APEX_DOMAIN}`) +export const mkEdgeUrl = (subdomain: string, path = '') => + mkUrl(mkEdgeSubdomain(subdomain), path) + // Derived export const MOTHERSHIP_URL = `${PUBLIC_HTTP_PROTOCOL}://${PUBLIC_MOTHERSHIP_NAME}.${PUBLIC_EDGE_APEX_DOMAIN}` @@ -73,9 +86,9 @@ export const DOCKER_ARCH = env('DOCKER_ARCH', 'arm64') console.log({ PUBLIC_HTTP_PROTOCOL, - PUBLIC_APP_DOMAIN, + PUBLIC_APP_SUBDOMAIN, PUBLIC_MOTHERSHIP_NAME, - PUBLIC_BLOG_DOMAIN, + PUBLIC_BLOG_SUBDOMAIN, PUBLIC_DEBUG, PUBLIC_EDGE_APEX_DOMAIN, DAEMON_PB_USERNAME, diff --git a/packages/daemon/src/services/InstanceService/InstanceService.ts b/packages/daemon/src/services/InstanceService/InstanceService.ts index 5dcfdb10..19d4c527 100644 --- a/packages/daemon/src/services/InstanceService/InstanceService.ts +++ b/packages/daemon/src/services/InstanceService/InstanceService.ts @@ -1,24 +1,24 @@ import { DAEMON_PB_IDLE_TTL, - PUBLIC_APP_DOMAIN, - PUBLIC_HTTP_PROTOCOL, + mkAppUrl, + mkDocUrl, PUBLIC_MOTHERSHIP_NAME, } from '$constants' import { clientService, proxyService } from '$services' import { mkInternalUrl, now } from '$util' import { + assertTruthy, CLEANUP_PRIORITY_LAST, + createCleanupManager, + createTimerManager, InstanceFields, InstanceId, InstanceStatus, - SingletonBaseConfig, - StreamNames, - assertTruthy, - createCleanupManager, - createTimerManager, mkSingleton, safeCatch, serialAsyncExecutionGuard, + SingletonBaseConfig, + StreamNames, } from '@pockethost/common' import { map, values } from '@s-libs/micro-dash' import Bottleneck from 'bottleneck' @@ -468,7 +468,9 @@ export const instanceService = mkSingleton( dbg(`Checking for maintenance mode`) if (instance.maintenance) { throw new Error( - `This instance is in Maintenance Mode. See https://pockethost.io/docs/usage/maintenance for more information.`, + `This instance is in Maintenance Mode. See ${mkDocUrl( + `/usage/maintenance`, + )} for more information.`, ) } @@ -477,9 +479,7 @@ export const instanceService = mkSingleton( */ dbg(`Checking for verified account`) if (!owner?.verified) { - throw new Error( - `Log in at ${PUBLIC_HTTP_PROTOCOL}://${PUBLIC_APP_DOMAIN} to verify your account.`, - ) + throw new Error(`Log in at ${mkAppUrl()}} to verify your account.`) } const api = await getInstanceApi(instance)