feat(template): add wordpress

This commit is contained in:
Mauricio Siu
2024-06-29 19:56:59 -06:00
parent 210fed30a2
commit 898880634a
4 changed files with 75 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

View File

@@ -137,4 +137,19 @@ export const templates: TemplateData[] = [
tags: ["automation"],
load: () => import("./n8n/index").then((m) => m.generate),
},
{
id: "wordpress",
name: "Wordpress",
version: "5.8.3",
description:
"Wordpress is a free and open source content management system (CMS) for publishing and managing websites.",
logo: "wordpress.png",
links: {
github: "https://github.com/WordPress/WordPress",
website: "https://wordpress.org/",
docs: "https://wordpress.org/documentation/",
},
tags: ["cms"],
load: () => import("./wordpress/index").then((m) => m.generate),
},
];

View File

@@ -0,0 +1,40 @@
version: '3.8'
services:
wordpress:
image: wordpress:5.8.3
networks:
- dokploy-network
ports:
- ${WORDPRESS_PORT}
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
labels:
- "traefik.enable=true"
- "traefik.http.routers.${HASH}.rule=Host(`${WORDPRESS_HOST}`)"
- "traefik.http.services.${HASH}.loadbalancer.server.port=${WORDPRESS_PORT}"
volumes:
- wordpress_data:/var/www/html
db:
image: mysql:5.7.34
networks:
- dokploy-network
environment:
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
MYSQL_ROOT_PASSWORD: rootpass
volumes:
- db_data:/var/lib/mysql
volumes:
wordpress_data:
db_data:
networks:
dokploy-network:
external: true

View File

@@ -0,0 +1,20 @@
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 = [
`WORDPRESS_HOST=${randomDomain}`,
"WORDPRESS_PORT=80",
`HASH=${mainServiceHash}`,
];
return {
envs,
};
}