UNPKG

hosty

Version:

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

45 lines 1.56 kB
import { container } from '../container.js'; export function postgres(config) { return { ...config, type: 'db.postgres', host: config.name, port: 5432, 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 = `postgres`; if (config.version) compose.image += ':' + config.version; } compose.environment = { POSTGRES_USER: config.user, POSTGRES_PASSWORD: config.pass, POSTGRES_DB: config.name, ...(compose.environment || {}), }; compose.expose || (compose.expose = []); compose.expose.push('5432'); if (config.exposed_port) { compose.ports || (compose.ports = []); compose.ports.push(`${config.exposed_port}:5432`); } const files = {}; if (config.config) { files['postgresql.conf'] = config.config; compose.volumes || (compose.volumes = []); compose.volumes.push('./postgresql.conf:/etc/postgresql/postgresql.conf'); } 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=postgres.js.map