From 165cdd27da5799ee150d5313826f1dc4a95fdfb9 Mon Sep 17 00:00:00 2001 From: Freilyn Bernabe Date: Sun, 26 Jan 2025 19:19:14 -0400 Subject: [PATCH 1/2] feat(template): added answer template --- apps/dokploy/public/templates/answer.png | Bin 0 -> 3775 bytes .../templates/answer/docker-compose.yml | 31 ++++++++++++++++ apps/dokploy/templates/answer/index.ts | 33 ++++++++++++++++++ apps/dokploy/templates/templates.ts | 15 ++++++++ 4 files changed, 79 insertions(+) create mode 100644 apps/dokploy/public/templates/answer.png create mode 100644 apps/dokploy/templates/answer/docker-compose.yml create mode 100644 apps/dokploy/templates/answer/index.ts diff --git a/apps/dokploy/public/templates/answer.png b/apps/dokploy/public/templates/answer.png new file mode 100644 index 0000000000000000000000000000000000000000..3fca604d4895423acefc7a4d9d203592d4a81ae5 GIT binary patch literal 3775 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 Da`o^h literal 0 HcmV?d00001 diff --git a/apps/dokploy/templates/answer/docker-compose.yml b/apps/dokploy/templates/answer/docker-compose.yml new file mode 100644 index 00000000..75d8177a --- /dev/null +++ b/apps/dokploy/templates/answer/docker-compose.yml @@ -0,0 +1,31 @@ +services: + answer: + image: apache/answer:1.4.1 + ports: + - '9080:80' + restart: on-failure + volumes: + - answer-data:/data + depends_on: + db: + condition: service_healthy + db: + image: postgres:16 + restart: always + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] + interval: 5s + timeout: 5s + retries: 5 + networks: + - dokploy-network + volumes: + - db-data:/var/lib/postgresql/data + environment: + POSTGRES_DB: answer + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + +volumes: + answer-data: + db-data: diff --git a/apps/dokploy/templates/answer/index.ts b/apps/dokploy/templates/answer/index.ts new file mode 100644 index 00000000..36d48cb3 --- /dev/null +++ b/apps/dokploy/templates/answer/index.ts @@ -0,0 +1,33 @@ +import { + type DomainSchema, + type Schema, + type Template, + generateHash, + generateRandomDomain, +} from "../utils"; + +export function generate(schema: Schema): Template { + const mainServiceHash = generateHash(schema.projectName); + const mainDomain = generateRandomDomain(schema); + + const domains: DomainSchema[] = [ + { + host: mainDomain, + port: 9080, + serviceName: "answer", + }, + ]; + + const envs = [ + `ANSWER_HOST=http://${mainDomain}`, + `SERVICE_HASH=${mainServiceHash}`, + ]; + + const mounts: Template["mounts"] = []; + + return { + envs, + mounts, + domains, + }; +} diff --git a/apps/dokploy/templates/templates.ts b/apps/dokploy/templates/templates.ts index be04033d..7ba3829f 100644 --- a/apps/dokploy/templates/templates.ts +++ b/apps/dokploy/templates/templates.ts @@ -1408,4 +1408,19 @@ export const templates: TemplateData[] = [ tags: ["file", "webdav", "storage"], load: () => import("./alist/index").then((m) => m.generate), }, + { + id: "answer", + name: "Answer", + version: "v1.4.1", + description: + "Answer is an open-source Q&A platform for building a self-hosted question-and-answer service.", + logo: "answer.png", + links: { + github: "https://github.com/apache/answer", + website: "https://answer.apache.org/", + docs: "https://answer.apache.org/docs", + }, + tags: ["q&a", "self-hosted"], + load: () => import("./answer/index").then((m) => m.generate), + }, ]; From 3209550edc62b43cfd55f367af83be76bd2579ba Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 26 Jan 2025 17:57:31 -0600 Subject: [PATCH 2/2] Update apps/dokploy/templates/answer/docker-compose.yml --- apps/dokploy/templates/answer/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/dokploy/templates/answer/docker-compose.yml b/apps/dokploy/templates/answer/docker-compose.yml index 75d8177a..e17a6d1e 100644 --- a/apps/dokploy/templates/answer/docker-compose.yml +++ b/apps/dokploy/templates/answer/docker-compose.yml @@ -2,7 +2,7 @@ services: answer: image: apache/answer:1.4.1 ports: - - '9080:80' + - '80' restart: on-failure volumes: - answer-data:/data