wordpress

This commit is contained in:
Andras Bacsai 2022-10-18 15:01:18 +02:00
parent 8b83c38127
commit dbd767e8f1
2 changed files with 149 additions and 0 deletions

View File

@ -11,13 +11,44 @@ export async function migrateServicesToNewTemplate() {
if (service.type === 'fider' && service.fider) await fider(service) if (service.type === 'fider' && service.fider) await fider(service)
if (service.type === 'minio' && service.minio) await minio(service) if (service.type === 'minio' && service.minio) await minio(service)
if (service.type === 'vscodeserver' && service.vscodeserver) await vscodeserver(service) if (service.type === 'vscodeserver' && service.vscodeserver) await vscodeserver(service)
if (service.type === 'wordpress' && service.wordpress) await wordpress(service)
} }
} catch (error) { } catch (error) {
console.log(error) console.log(error)
} }
} }
async function wordpress(service: any) {
const { extraConfig, tablePrefix, ownMysql, mysqlHost, mysqlPort, mysqlUser, mysqlPassword, mysqlRootUser, mysqlRootUserPassword, mysqlDatabase, ftpEnabled, ftpUser, ftpPassword, ftpPublicPort, ftpHostKey, ftpHostKeyPrivate } = service.wordpress
const secrets = [
`MYSQL_ROOT_PASSWORD@@@${mysqlRootUserPassword}`,
`MYSQL_PASSWORD@@@${mysqlPassword}`,
ftpPassword && `FTP_PASSWORD@@@${ftpPassword}`,
ftpHostKeyPrivate && `FTP_HOST_KEY_PRIVATE@@@${ftpHostKeyPrivate}`,
ftpHostKey && `FTP_HOST_KEY@@@${ftpHostKey}`,
]
const settings = [
`MYSQL_ROOT_USER@@@${mysqlRootUser}`,
`MYSQL_USER@@@${mysqlUser}`,
`MYSQL_DATABASE@@@${mysqlDatabase}`,
`MYSQL_HOST@@@${mysqlHost}`,
`MYSQL_PORT@@@${mysqlPort}`,
`FTP_ENABLED@@@${ftpEnabled}`,
`FTP_USER@@@${ftpUser}`,
`FTP_PUBLIC_PORT@@@${ftpPublicPort}`,
`WORDPRESS_CONFIG_EXTRA@@@${extraConfig}`,
`WORDPRESS_TABLE_PREFIX@@@${tablePrefix}`,
`OWN_MYSQL@@@${ownMysql}`,
]
await migrateSecrets(secrets, service);
await migrateSettings(settings, service);
// Remove old service data
// await prisma.service.update({ where: { id: service.id }, data: { wordpress: { delete: true } } })
}
async function vscodeserver(service: any) { async function vscodeserver(service: any) {
const { password } = service.vscodeserver const { password } = service.vscodeserver

View File

@ -1,4 +1,122 @@
export default [ export default [
{
"templateVersion": "1.0.0",
"serviceDefaultVersion": "php8.1",
"name": "wordpress",
"displayName": "WordPress",
"description": "WordPress is a content management system based on PHP.",
"services": {
"$$id": {
"name": "WordPress",
"documentation": " Taken from https://docs.docker.com/compose/wordpress/",
"depends_on": [
"$$id_mysql"
],
"image": "wordpress:$$core_version",
"volumes": [
"$$id-wordpress-data:/var/www/html",
],
"environment": [
"WORDPRESS_DB_HOST=$$config_wordpress_db_host",
"WORDPRESS_DB_USER=$$config_wordpress_db_user",
"WORDPRESS_DB_PASSWORD=$$secret_wordpress_db_password",
"WORDPRESS_DB_NAME=$$config_wordpress_db_name",
"WORDPRESS_CONFIG_EXTRA=$$config_wordpress_config_extra"
],
"ports": [
"80"
]
},
"$$id-mysql": {
"name": "MySQL",
"depends_on": [],
"image": "mysql:5.7",
"volumes": [
"$$id-mysql-data:/var/lib/mysql",
],
"environment": [
"MYSQL_ROOT_PASSWORD=$$secret_mysql_root_password",
"MYSQL_ROOT_USER=$$config_mysql_root_user",
"MYSQL_DATABASE=$$config_mysql_database",
"MYSQL_USER=$$config_mysql_user",
"MYSQL_PASSWORD=$$secret_mysql_password",
],
"ports": []
}
},
"variables": [
{
"id": "$$config_wordpress_db_host",
"name": "WORDPRESS_DB_HOST",
"label": "WordPress DB Host",
"defaultValue": "$$id-mysql",
"description": ""
},
{
"id": "$$config_wordpress_db_user",
"name": "WORDPRESS_DB_USER",
"label": "WordPress DB User",
"defaultValue": "$$config_mysql_user",
"description": ""
},
{
"id": "$$secret_wordpress_db_password",
"name": "WORDPRESS_DB_PASSWORD",
"label": "WordPress DB Password",
"defaultValue": "$$secret_mysql_password",
"description": ""
},
{
"id": "$$config_wordpress_db_name",
"name": "WORDPRESS_DB_NAME",
"label": "WordPress DB Name",
"defaultValue": "$$config_mysql_database",
"description": ""
},
{
"id": "$$config_wordpress_config_extra",
"name": "WORDPRESS_CONFIG_EXTRA",
"label": "WordPress Config Extra",
"defaultValue": "",
"description": ""
},
{
"id": "$$secret_mysql_root_password",
"name": "MYSQL_ROOT_PASSWORD",
"label": "MySQL Root Password",
"defaultValue": "$$generate_password",
"description": ""
},
{
"id": "$$config_mysql_root_user",
"name": "MYSQL_ROOT_USER",
"label": "MySQL Root User",
"defaultValue": "$$generate_username",
"description": ""
},
{
"id": "$$config_mysql_database",
"name": "MYSQL_DATABASE",
"label": "MySQL Database",
"defaultValue": "wordpress",
"description": ""
},
{
"id": "$$config_mysql_user",
"name": "MYSQL_USER",
"label": "MySQL User",
"defaultValue": "$$generate_username",
"description": ""
},
{
"id": "$$secret_mysql_password",
"name": "MYSQL_PASSWORD",
"label": "MySQL Password",
"defaultValue": "$$generate_password",
"description": ""
}
]
},
{ {
"templateVersion": "1.0.0", "templateVersion": "1.0.0",
"serviceDefaultVersion": "4.7.1", "serviceDefaultVersion": "4.7.1",