mirror of
https://github.com/Drop-OSS/drop.git
synced 2025-11-22 20:51:12 +10:00
26 lines
589 B
TypeScript
26 lines
589 B
TypeScript
import type { HeadscaleService} from "@drop-oss/headscalez";
|
|
import { startHeadscale } from "@drop-oss/headscalez";
|
|
|
|
export class HeadscaleManager {
|
|
private headscaleService?: HeadscaleService;
|
|
|
|
constructor() {
|
|
this.setup();
|
|
}
|
|
|
|
async setup() {
|
|
const externalUrl = process.env.CONTROL_URL;
|
|
if (externalUrl) {
|
|
const headscale = await startHeadscale({ externalUrl });
|
|
this.headscaleService = headscale;
|
|
}
|
|
}
|
|
|
|
enabled() {
|
|
return !!this.headscaleService;
|
|
}
|
|
}
|
|
|
|
export const headscaleManager = new HeadscaleManager();
|
|
export default headscaleManager;
|