feat(ai): add configuration files support for AI template generation

- Enhance template generation with configFiles feature
- Update StepTwo and StepThree components to display and edit configuration files
- Modify AI router and schemas to support configuration file mounting
- Refine AI service prompt to provide stricter guidelines for config file usage
This commit is contained in:
Mauricio Siu
2025-03-02 01:54:39 -06:00
parent e7db3a196c
commit a8fc27e830
6 changed files with 137 additions and 28 deletions

View File

@@ -11,7 +11,7 @@ import {
apiUpdateAi,
deploySuggestionSchema,
} from "@dokploy/server/db/schema/ai";
import { createDomain } from "@dokploy/server/index";
import { createDomain, createMount } from "@dokploy/server/index";
import {
deleteAiSettings,
getAiSettingById,
@@ -126,8 +126,6 @@ export const aiRouter = createTRPCRouter({
const projectName = slugify(`${project.name} ${input.id}`);
console.log(input);
const compose = await createComposeByTemplate({
...input,
composeFile: input.dockerCompose,
@@ -136,6 +134,7 @@ export const aiRouter = createTRPCRouter({
name: input.name,
sourceType: "raw",
appName: `${projectName}-${generatePassword(6)}`,
isolatedDeployment: true,
});
if (input.domains && input.domains?.length > 0) {
@@ -148,6 +147,18 @@ export const aiRouter = createTRPCRouter({
});
}
}
if (input.configFiles && input.configFiles?.length > 0) {
for (const mount of input.configFiles) {
await createMount({
filePath: mount.filePath,
mountPath: "",
content: mount.content,
serviceId: compose.composeId,
serviceType: "compose",
type: "file",
});
}
}
if (ctx.user.rol === "member") {
await addNewService(