feat: Add numerous new blueprint templates for various applications

This commit is contained in:
Mauricio Siu
2025-03-09 19:05:57 -06:00
parent eed6aebb85
commit fbbb4f46f3
216 changed files with 13001 additions and 44 deletions

View File

@@ -0,0 +1,36 @@
services:
nextcloud:
image: nextcloud:30.0.2
restart: always
ports:
- 80
volumes:
- nextcloud_data:/var/www/html
environment:
- NEXTCLOUD_TRUSTED_DOMAINS=${NEXTCLOUD_DOMAIN}
- MYSQL_HOST=nextcloud_db
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=${MYSQL_SECRET_PASSWORD}
- OVERWRITEPROTOCOL=https
nextcloud_db:
image: mariadb
restart: always
volumes:
- nextcloud_db_data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_SECRET_PASSWORD_ROOT}
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=${MYSQL_SECRET_PASSWORD}
volumes:
nextcloud_data:
nextcloud_db_data:
networks:
dokploy-network:
external: true

View File

@@ -0,0 +1,28 @@
import {
type DomainSchema,
type Schema,
type Template,
generatePassword,
generateRandomDomain,
} from "../utils";
export function generate(schema: Schema): Template {
const randomDomain = generateRandomDomain(schema);
const databasePassword = generatePassword();
const databaseRootPassword = generatePassword();
const envs = [
`NEXTCLOUD_DOMAIN=${randomDomain}`,
`MYSQL_SECRET_PASSWORD=${databasePassword}`,
`MYSQL_SECRET_PASSWORD_ROOT=${databaseRootPassword}`,
];
const domains: DomainSchema[] = [
{
host: randomDomain,
port: 80,
serviceName: "nextcloud",
},
];
return { envs, domains };
}