flecks/packages/db/src/containers.js

50 lines
947 B
JavaScript
Raw Normal View History

2022-02-28 05:16:24 -06:00
export default (flecks) => {
2022-02-25 04:58:08 -06:00
const {
dialect,
username,
password,
port,
database,
2022-02-28 05:16:24 -06:00
} = flecks.get('@flecks/db/server');
2022-02-25 04:58:08 -06:00
let args = [];
let image;
let mount;
let ports = {};
2022-02-25 04:58:08 -06:00
switch (dialect) {
case 'mysql': {
args = [
'-e', `MYSQL_USER=${username}`,
'-e', `MYSQL_DATABASE=${database}`,
'-e', `MYSQL_ROOT_PASSWORD=${password}`,
];
image = 'mysql';
mount = '/var/lib/mysql';
ports = {[port]: 3306};
2022-02-25 04:58:08 -06:00
break;
}
case 'postgres': {
args = [
'-e', `POSTGRES_USER=${username}`,
'-e', `POSTGRES_DB=${database}`,
'-e', `POSTGRES_PASSWORD=${password}`,
];
image = 'postgres';
mount = '/var/lib/postgresql/data';
ports = {[port]: 5432};
2022-02-25 04:58:08 -06:00
break;
}
default:
}
if (!image) {
return {};
}
return {
sequelize: {
args,
image,
mount,
ports,
2022-02-25 04:58:08 -06:00
},
};
};