MCPcopy
hub / github.com/Dokploy/dokploy / setupForwardAuth

Function setupForwardAuth

packages/server/src/setup/forward-auth-setup.ts:91–137  ·  view source on GitHub ↗
(options: SetupForwardAuthOptions)

Source from the content-addressed store, hash-verified

89};
90
91export const setupForwardAuth = async (options: SetupForwardAuthOptions) => {
92 const { serverId } = options;
93 const docker = await getRemoteDocker(serverId);
94
95 const settings: CreateServiceOptions = {
96 Name: FORWARD_AUTH_SERVICE_NAME,
97 TaskTemplate: {
98 ContainerSpec: {
99 Image: FORWARD_AUTH_IMAGE,
100 Env: buildForwardAuthEnv(options),
101 },
102 Networks: [{ Target: "dokploy-network" }],
103 Placement: {
104 Constraints: ["node.role==manager"],
105 },
106 },
107 Mode: {
108 Replicated: {
109 Replicas: 1,
110 },
111 },
112 };
113
114 try {
115 const service = docker.getService(FORWARD_AUTH_SERVICE_NAME);
116 const inspect = await service.inspect();
117 await service.update({
118 version: Number.parseInt(inspect.Version.Index),
119 ...settings,
120 TaskTemplate: {
121 ...settings.TaskTemplate,
122 ForceUpdate: inspect.Spec.TaskTemplate.ForceUpdate + 1,
123 },
124 });
125 console.log("Forward Auth Updated ✅");
126 } catch (_) {
127 try {
128 await docker.createService(settings);
129 console.log("Forward Auth Started ✅");
130 } catch (error: any) {
131 if (error?.statusCode !== 409) {
132 throw error;
133 }
134 console.log("Forward Auth service already exists, continuing...");
135 }
136 }
137};
138
139export const removeForwardAuth = async (serverId?: string) => {
140 const docker = await getRemoteDocker(serverId);

Callers 1

Calls 2

getRemoteDockerFunction · 0.90
buildForwardAuthEnvFunction · 0.85

Tested by

no test coverage detected