diff --git a/apps/dokploy/public/templates/glpi.webp b/apps/dokploy/public/templates/glpi.webp new file mode 100644 index 000000000..8d69cd297 Binary files /dev/null and b/apps/dokploy/public/templates/glpi.webp differ diff --git a/apps/dokploy/templates/glpi/docker-compose.yml b/apps/dokploy/templates/glpi/docker-compose.yml new file mode 100644 index 000000000..f15cdafef --- /dev/null +++ b/apps/dokploy/templates/glpi/docker-compose.yml @@ -0,0 +1,28 @@ +services: + glpi-mysql: + image: mysql:9.1.0 + restart: always + volumes: + - glpi-mysql-data:/var/lib/mysql + networks: + - dokploy-network + + glpi-web: + image: elestio/glpi:10.0.16 + restart: always + volumes: + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + - glpi-www-data:/var/www/html/glpi + environment: + - TIMEZONE=Europe/Brussels + networks: + - dokploy-network + +volumes: + glpi-mysql-data: + glpi-www-data: + +networks: + dokploy-network: + external: true \ No newline at end of file diff --git a/apps/dokploy/templates/glpi/index.ts b/apps/dokploy/templates/glpi/index.ts new file mode 100644 index 000000000..ce26d1f28 --- /dev/null +++ b/apps/dokploy/templates/glpi/index.ts @@ -0,0 +1,20 @@ +import { + type DomainSchema, + type Schema, + type Template, + generateRandomDomain, +} from "../utils"; + +export function generate(schema: Schema): Template { + const randomDomain = generateRandomDomain(schema); + const domains: DomainSchema[] = [ + { + host: randomDomain, + port: 80, + serviceName: "glpi-web", + }, + ]; + return { + domains, + }; +} \ No newline at end of file diff --git a/apps/dokploy/templates/templates.ts b/apps/dokploy/templates/templates.ts index b0526f5fd..510234ca7 100644 --- a/apps/dokploy/templates/templates.ts +++ b/apps/dokploy/templates/templates.ts @@ -1167,6 +1167,21 @@ export const templates: TemplateData[] = [ load: () => import("./unifi/index").then((m) => m.generate), }, { + id: "glpi", + name: "GLPI Project", + version: "10.0.16", + description: + "The most complete open source service management software", + logo: "glpi.webp", + links: { + github: "https://github.com/glpi-project/glpi", + website: "https://glpi-project.org/", + docs: "https://glpi-project.org/documentation/", + }, + tags: ["self-hosted", "project-management", "management"], + load: () => import("./glpi/index").then((m) => m.generate), + }, + { id: "checkmate", name: "Checkmate", version: "2.0.1",