feat: doublezero template

This commit is contained in:
Radu Ciocan
2024-07-06 14:29:32 +01:00
parent 45aae520d8
commit bab93f8145
4 changed files with 77 additions and 0 deletions

View File

@@ -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

View File

@@ -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,
};
}