Merge pull request #1125 from SlavenIvanov/feat/add-couch-db-template

feat: added couchdb template
This commit is contained in:
Mauricio Siu
2025-01-18 17:39:12 -06:00
committed by GitHub
4 changed files with 59 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@@ -0,0 +1,17 @@
version: '3.8'
services:
couchdb:
image: couchdb:latest
ports:
- '5984'
volumes:
- couchdb-data:/opt/couchdb/data
environment:
- COUCHDB_USER=${COUCHDB_USER}
- COUCHDB_PASSWORD=${COUCHDB_PASSWORD}
restart: unless-stopped
volumes:
couchdb-data:
driver: local

View File

@@ -0,0 +1,28 @@
import {
type DomainSchema,
type Schema,
type Template,
generatePassword,
generateRandomDomain,
} from "../utils";
export function generate(schema: Schema): Template {
const mainDomain = generateRandomDomain(schema);
const username = generatePassword(16);
const password = generatePassword(32);
const domains: DomainSchema[] = [
{
serviceName: "couchdb",
host: mainDomain,
port: 5984,
},
];
const envs = [`COUCHDB_USER=${username}`, `COUCHDB_PASSWORD=${password}`];
return {
envs,
domains,
};
}

View File

@@ -1269,6 +1269,20 @@ export const templates: TemplateData[] = [
},
tags: ["cloud", "networking", "security", "tunnel"],
load: () => import("./cloudflared/index").then((m) => m.generate),
},{
id: "couchdb",
name: "CouchDB",
version: "latest",
description:
"CouchDB is a document-oriented NoSQL database that excels at replication and horizontal scaling.",
logo: "couchdb.png", // we defined the name and the extension of the logo
links: {
github: "lorem",
website: "lorem",
docs: "lorem",
},
tags: ["database", "storage"],
load: () => import("./couchdb/index").then((m) => m.generate),
},
{
id: "it-tools",