From bab93f8145f5704f6a0ebbebde8ae426295a2615 Mon Sep 17 00:00:00 2001 From: Radu Ciocan Date: Sat, 6 Jul 2024 14:29:32 +0100 Subject: [PATCH 1/6] feat: doublezero template --- public/templates/doublezero.svg | 4 +++ templates/doublezero/docker-compose.yml | 33 +++++++++++++++++++++++++ templates/doublezero/index.ts | 26 +++++++++++++++++++ templates/templates.ts | 14 +++++++++++ 4 files changed, 77 insertions(+) create mode 100644 public/templates/doublezero.svg create mode 100644 templates/doublezero/docker-compose.yml create mode 100644 templates/doublezero/index.ts diff --git a/public/templates/doublezero.svg b/public/templates/doublezero.svg new file mode 100644 index 00000000..e28cbeb0 --- /dev/null +++ b/public/templates/doublezero.svg @@ -0,0 +1,4 @@ + + + + diff --git a/templates/doublezero/docker-compose.yml b/templates/doublezero/docker-compose.yml new file mode 100644 index 00000000..c124a0e3 --- /dev/null +++ b/templates/doublezero/docker-compose.yml @@ -0,0 +1,33 @@ +services: + doublezero: + restart: always + image: liltechnomancer/double-zero:latest + ports: + - 4000:4000 + networks: + - dokploy-network + volumes: + - db-data:/var/lib/doublezero/data + environment: + AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} + AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} + AWS_REGION: ${AWS_REGION} + SQS_URL: ${SQS_URL} + SYSTEM_EMAIL: ${SYSTEM_EMAIL} + SECRET_KEY_BASE: ${SECRET_KEY_BASE} + PHX_HOST: ${DOUBLEZERO_HOST} + DATABASE_PATH: ./00.db + labels: + - "traefik.enable=true" + - "traefik.http.routers.${HASH}.rule=Host(`${DOUBLEZERO_HOST}`)" + - "traefik.http.routers.${HASH}.entrypoints=websecure" + - "traefik.http.routers.${HASH}.tls.certResolver=letsencrypt" + - "traefik.http.services.${HASH}.loadbalancer.server.port=${DOUBLEZERO_PORT}" + +volumes: + db-data: + driver: local + +networks: + dokploy-network: + external: true diff --git a/templates/doublezero/index.ts b/templates/doublezero/index.ts new file mode 100644 index 00000000..e60c43f2 --- /dev/null +++ b/templates/doublezero/index.ts @@ -0,0 +1,26 @@ +import { + generateHash, + generateRandomDomain, + type Template, + type Schema, +} from "../utils"; + +export function generate(schema: Schema): Template { + const mainServiceHash = generateHash(schema.projectName); + const randomDomain = generateRandomDomain(schema); + const envs = [ + `DOUBLEZERO_HOST=${randomDomain}`, + "DOUBLEZERO_PORT=4000", + `HASH=${mainServiceHash}`, + "SECRET_KEY_BASE=", + "AWS_ACCESS_KEY_ID=", + "AWS_SECRET_ACCESS_KEY=", + "AWS_REGION=", + "SQS_URL=", + "SYSTEM_EMAIL=", + ]; + + return { + envs, + }; +} diff --git a/templates/templates.ts b/templates/templates.ts index 49bd596c..a9cade22 100644 --- a/templates/templates.ts +++ b/templates/templates.ts @@ -331,5 +331,19 @@ export const templates: TemplateData[] = [ }, tags: ['chat'], load: () => import('./open-webui/index').then((m) => m.generate), + }, + { + id: 'doublezero', + name: 'Double Zero', + version: 'v0.0', + description: 'A markdown email micro service for the people! 00 is a bring your own SES email monitoring service you self-host.', + logo: 'doublezero.svg', + links: { + github: 'https://github.com/technomancy-dev/00', + website: 'https://www.double-zero.cloud/', + docs: 'https://github.com/technomancy-dev/00', + }, + tags: ['email'], + load: () => import('./doublezero/index').then((m) => m.generate), } ]; From 66017c8623fcb879c30d2b6e55df7a9e72e7b5fc Mon Sep 17 00:00:00 2001 From: Radu Ciocan Date: Sat, 6 Jul 2024 14:34:30 +0100 Subject: [PATCH 2/6] fix: update template description --- templates/templates.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/templates.ts b/templates/templates.ts index a9cade22..79715bb4 100644 --- a/templates/templates.ts +++ b/templates/templates.ts @@ -336,7 +336,7 @@ export const templates: TemplateData[] = [ id: 'doublezero', name: 'Double Zero', version: 'v0.0', - description: 'A markdown email micro service for the people! 00 is a bring your own SES email monitoring service you self-host.', + description: '00 is a self hostable SES dashboard for sending and monitoring emails with AWS', logo: 'doublezero.svg', links: { github: 'https://github.com/technomancy-dev/00', From e49b190c3256bfdb1a265fa78fb75eafb0e42a2e Mon Sep 17 00:00:00 2001 From: Radu Ciocan Date: Sat, 6 Jul 2024 20:13:12 +0100 Subject: [PATCH 3/6] Update templates/doublezero/docker-compose.yml Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> --- templates/doublezero/docker-compose.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/templates/doublezero/docker-compose.yml b/templates/doublezero/docker-compose.yml index c124a0e3..e392e49d 100644 --- a/templates/doublezero/docker-compose.yml +++ b/templates/doublezero/docker-compose.yml @@ -20,8 +20,6 @@ services: labels: - "traefik.enable=true" - "traefik.http.routers.${HASH}.rule=Host(`${DOUBLEZERO_HOST}`)" - - "traefik.http.routers.${HASH}.entrypoints=websecure" - - "traefik.http.routers.${HASH}.tls.certResolver=letsencrypt" - "traefik.http.services.${HASH}.loadbalancer.server.port=${DOUBLEZERO_PORT}" volumes: From aa347abfcd1c8eb8f7304c9f6a40fc65c3359aa7 Mon Sep 17 00:00:00 2001 From: Radu Ciocan Date: Sat, 6 Jul 2024 20:30:23 +0100 Subject: [PATCH 4/6] fix: code review changes --- templates/doublezero/docker-compose.yml | 4 ++-- templates/doublezero/index.ts | 5 ++++- templates/templates.ts | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/templates/doublezero/docker-compose.yml b/templates/doublezero/docker-compose.yml index e392e49d..bb7b1d2b 100644 --- a/templates/doublezero/docker-compose.yml +++ b/templates/doublezero/docker-compose.yml @@ -1,9 +1,9 @@ services: doublezero: restart: always - image: liltechnomancer/double-zero:latest + image: liltechnomancer/double-zero:0.2.1 ports: - - 4000:4000 + - ${DOUBLEZERO_PORT} networks: - dokploy-network volumes: diff --git a/templates/doublezero/index.ts b/templates/doublezero/index.ts index e60c43f2..f9863647 100644 --- a/templates/doublezero/index.ts +++ b/templates/doublezero/index.ts @@ -3,16 +3,19 @@ import { generateRandomDomain, type Template, type Schema, + generateBase64, } from "../utils"; export function generate(schema: Schema): Template { const mainServiceHash = generateHash(schema.projectName); const randomDomain = generateRandomDomain(schema); + const secretKeyBase = generateBase64(64); + const envs = [ `DOUBLEZERO_HOST=${randomDomain}`, "DOUBLEZERO_PORT=4000", `HASH=${mainServiceHash}`, - "SECRET_KEY_BASE=", + `SECRET_KEY_BASE=${secretKeyBase}`, "AWS_ACCESS_KEY_ID=", "AWS_SECRET_ACCESS_KEY=", "AWS_REGION=", diff --git a/templates/templates.ts b/templates/templates.ts index 79715bb4..687576dd 100644 --- a/templates/templates.ts +++ b/templates/templates.ts @@ -335,7 +335,7 @@ export const templates: TemplateData[] = [ { id: 'doublezero', name: 'Double Zero', - version: 'v0.0', + version: 'v0.2.1', description: '00 is a self hostable SES dashboard for sending and monitoring emails with AWS', logo: 'doublezero.svg', links: { From 0f0f32a40d3cb34815e7501761299382b6d7c9d0 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 6 Jul 2024 17:06:40 -0600 Subject: [PATCH 5/6] Update index.ts --- templates/doublezero/index.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/templates/doublezero/index.ts b/templates/doublezero/index.ts index f9863647..1268974f 100644 --- a/templates/doublezero/index.ts +++ b/templates/doublezero/index.ts @@ -16,10 +16,10 @@ export function generate(schema: Schema): Template { "DOUBLEZERO_PORT=4000", `HASH=${mainServiceHash}`, `SECRET_KEY_BASE=${secretKeyBase}`, - "AWS_ACCESS_KEY_ID=", - "AWS_SECRET_ACCESS_KEY=", - "AWS_REGION=", - "SQS_URL=", + "AWS_ACCESS_KEY_ID=your-aws-access-key", + "AWS_SECRET_ACCESS_KEY=your-aws-secret-key, + "AWS_REGION=your-aws-region", + "SQS_URL=your-aws-sqs-url", "SYSTEM_EMAIL=", ]; From e8648732bebbb44632e2a24a4ce820f6d43ce209 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 6 Jul 2024 17:07:19 -0600 Subject: [PATCH 6/6] Update index.ts --- templates/doublezero/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/doublezero/index.ts b/templates/doublezero/index.ts index 1268974f..72304728 100644 --- a/templates/doublezero/index.ts +++ b/templates/doublezero/index.ts @@ -17,7 +17,7 @@ export function generate(schema: Schema): Template { `HASH=${mainServiceHash}`, `SECRET_KEY_BASE=${secretKeyBase}`, "AWS_ACCESS_KEY_ID=your-aws-access-key", - "AWS_SECRET_ACCESS_KEY=your-aws-secret-key, + "AWS_SECRET_ACCESS_KEY=your-aws-secret-key", "AWS_REGION=your-aws-region", "SQS_URL=your-aws-sqs-url", "SYSTEM_EMAIL=",