mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
Merge pull request #850 from drudge/logto-template
feat: add Logto template
This commit is contained in:
BIN
apps/dokploy/public/templates/logto.png
Normal file
BIN
apps/dokploy/public/templates/logto.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
42
apps/dokploy/templates/logto/docker-compose.yml
Normal file
42
apps/dokploy/templates/logto/docker-compose.yml
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
services:
|
||||||
|
app:
|
||||||
|
depends_on:
|
||||||
|
postgres:
|
||||||
|
condition: service_healthy
|
||||||
|
image: svhd/logto:1.22.0
|
||||||
|
entrypoint: ["sh", "-c", "npm run cli db seed -- --swe && npm start"]
|
||||||
|
ports:
|
||||||
|
- 3001
|
||||||
|
- 3002
|
||||||
|
networks:
|
||||||
|
- dokploy-network
|
||||||
|
environment:
|
||||||
|
TRUST_PROXY_HEADER: 1
|
||||||
|
DB_URL: postgres://logto:${LOGTO_POSTGRES_PASSWORD}@postgres:5432/logto
|
||||||
|
ENDPOINT: ${LOGTO_ENDPOINT}
|
||||||
|
ADMIN_ENDPOINT: ${LOGTO_ADMIN_ENDPOINT}
|
||||||
|
volumes:
|
||||||
|
- logto-connectors:/etc/logto/packages/core/connectors
|
||||||
|
postgres:
|
||||||
|
image: postgres:17-alpine
|
||||||
|
user: postgres
|
||||||
|
networks:
|
||||||
|
- dokploy-network
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: logto
|
||||||
|
POSTGRES_PASSWORD: ${LOGTO_POSTGRES_PASSWORD}
|
||||||
|
volumes:
|
||||||
|
- postgres-data:/var/lib/postgresql/data
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
|
||||||
|
networks:
|
||||||
|
dokploy-network:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
logto-connectors:
|
||||||
|
postgres-data:
|
||||||
37
apps/dokploy/templates/logto/index.ts
Normal file
37
apps/dokploy/templates/logto/index.ts
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
import {
|
||||||
|
type DomainSchema,
|
||||||
|
type Schema,
|
||||||
|
type Template,
|
||||||
|
generatePassword,
|
||||||
|
generateRandomDomain,
|
||||||
|
} from "../utils";
|
||||||
|
|
||||||
|
export function generate(schema: Schema): Template {
|
||||||
|
const mainDomain = generateRandomDomain(schema);
|
||||||
|
const adminDomain = generateRandomDomain(schema);
|
||||||
|
const postgresPassword = generatePassword();
|
||||||
|
|
||||||
|
const domains: DomainSchema[] = [
|
||||||
|
{
|
||||||
|
host: mainDomain,
|
||||||
|
port: 3001,
|
||||||
|
serviceName: "app",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
host: adminDomain,
|
||||||
|
port: 3002,
|
||||||
|
serviceName: "app",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const envs = [
|
||||||
|
`LOGTO_ENDPOINT=http://${adminDomain}`,
|
||||||
|
`LOGTO_ADMIN_ENDPOINT=http://${adminDomain}`,
|
||||||
|
`LOGTO_POSTGRES_PASSWORD=${postgresPassword}`,
|
||||||
|
];
|
||||||
|
|
||||||
|
return {
|
||||||
|
domains,
|
||||||
|
envs,
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1016,8 +1016,8 @@ export const templates: TemplateData[] = [
|
|||||||
},
|
},
|
||||||
tags: ["browser", "automation"],
|
tags: ["browser", "automation"],
|
||||||
load: () => import("./browserless/index").then((m) => m.generate),
|
load: () => import("./browserless/index").then((m) => m.generate),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "drawio",
|
id: "drawio",
|
||||||
name: "draw.io",
|
name: "draw.io",
|
||||||
version: "24.7.17",
|
version: "24.7.17",
|
||||||
@@ -1031,8 +1031,8 @@ export const templates: TemplateData[] = [
|
|||||||
},
|
},
|
||||||
tags: ["drawing", "diagrams"],
|
tags: ["drawing", "diagrams"],
|
||||||
load: () => import("./drawio/index").then((m) => m.generate),
|
load: () => import("./drawio/index").then((m) => m.generate),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "kimai",
|
id: "kimai",
|
||||||
name: "Kimai",
|
name: "Kimai",
|
||||||
version: "2.26.0",
|
version: "2.26.0",
|
||||||
@@ -1047,4 +1047,19 @@ export const templates: TemplateData[] = [
|
|||||||
tags: ["invoice", "business", "finance"],
|
tags: ["invoice", "business", "finance"],
|
||||||
load: () => import("./kimai/index").then((m) => m.generate),
|
load: () => import("./kimai/index").then((m) => m.generate),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: "logto",
|
||||||
|
name: "Logto",
|
||||||
|
version: "1.22.0",
|
||||||
|
description:
|
||||||
|
"Logto is an open-source Identity and Access Management (IAM) platform designed to streamline Customer Identity and Access Management (CIAM) and Workforce Identity Management.",
|
||||||
|
logo: "logto.png",
|
||||||
|
links: {
|
||||||
|
github: "https://github.com/logto-io/logto",
|
||||||
|
website: "https://logto.io/",
|
||||||
|
docs: "https://docs.logto.io/introduction",
|
||||||
|
},
|
||||||
|
tags: ["identity", "auth"],
|
||||||
|
load: () => import("./logto/index").then((m) => m.generate),
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user