UNPKG

hosty

Version:

A code based opinionated way to self-host and manage web apps.

46 lines 1.59 kB
import { container } from '../container.js'; export function mysql(config) { return { ...config, type: 'db.mysql', host: config.name, port: 3306, get_deploy_tasks: (server) => get_deploy_tasks(server, config), get_destroy_tasks: (server) => get_destroy_tasks(server, config), }; } function get_deploy_tasks(server, config) { const compose = config.compose || {}; if (!compose.image) { compose.image = `mysql`; if (config.version) compose.image += ':' + config.version; } compose.environment = { MYSQL_ROOT_PASSWORD: config.root_password, MYSQL_DATABASE: config.name, MYSQL_USER: config.user, MYSQL_PASSWORD: config.pass, ...(compose.environment || {}), }; compose.expose || (compose.expose = []); compose.expose.push('3306'); if (config.exposed_port) { compose.ports || (compose.ports = []); compose.ports.push(`${config.exposed_port}:3306`); } const files = {}; if (config.config) { files['custom.cnf'] = config.config; compose.volumes || (compose.volumes = []); compose.volumes.push('./custom.cnf:/etc/mysql/conf.d/custom.cnf:ro'); } const tasks = container({ name: config.name, compose, files }).get_deploy_tasks(server); return tasks; } function get_destroy_tasks(server, config) { const compose = config.compose || {}; const tasks = container({ name: config.name, compose }).get_destroy_tasks(server); return tasks; } //# sourceMappingURL=mysql.js.map