fix: docker
This commit is contained in:
parent
9bfa481731
commit
2d89ea3512
16
packages/docker/build/flecks.bootstrap.js
Normal file
16
packages/docker/build/flecks.bootstrap.js
Normal file
|
@ -0,0 +1,16 @@
|
|||
const FlecksDockerOutput = require('./plugin');
|
||||
|
||||
exports.hooks = {
|
||||
'@flecks/core.build': (target, config, env, argv, flecks) => {
|
||||
if ('server' !== target) {
|
||||
return;
|
||||
}
|
||||
config.plugins.push(new FlecksDockerOutput({flecks}));
|
||||
},
|
||||
'@flecks/core.config': () => ({
|
||||
/**
|
||||
* Whether to run docker containers.
|
||||
*/
|
||||
enabled: true,
|
||||
}),
|
||||
};
|
|
@ -1,4 +1,4 @@
|
|||
export const generateDockerFile = (flecks) => {
|
||||
exports.generateDockerFile = (flecks) => {
|
||||
const dockerfile = [
|
||||
'FROM node:20',
|
||||
'',
|
||||
|
@ -11,7 +11,7 @@ export const generateDockerFile = (flecks) => {
|
|||
'ENV DEBUG=*',
|
||||
'ENV NODE_ENV=production',
|
||||
'',
|
||||
'CMD ["node", "./dist/index.js"]',
|
||||
'CMD ["node", "./dist/server/index.js"]',
|
||||
'',
|
||||
'VOLUME /var/www/node_modules',
|
||||
'',
|
||||
|
@ -19,14 +19,14 @@ export const generateDockerFile = (flecks) => {
|
|||
return flecks.invokeComposed('@flecks/docker.Dockerfile', dockerfile);
|
||||
};
|
||||
|
||||
export const generateComposeConfig = async (flecks) => {
|
||||
exports.generateComposeConfig = async (flecks) => {
|
||||
const id = flecks.get('@flecks/core.id');
|
||||
const appServiceName = `${id}_app`;
|
||||
const services = {
|
||||
[appServiceName]: {
|
||||
build: {
|
||||
context: '..',
|
||||
dockerfile: 'dist/Dockerfile',
|
||||
dockerfile: 'dist/server/Dockerfile',
|
||||
},
|
||||
environment: {
|
||||
FLECKS_ENV__flecks_docker_server__enabled: 'false',
|
|
@ -1,8 +1,8 @@
|
|||
import {dumpYml} from '@flecks/core/server';
|
||||
const {dumpYml} = require('@flecks/core/server');
|
||||
|
||||
import {generateComposeConfig, generateDockerFile} from './generate';
|
||||
const {generateComposeConfig, generateDockerFile} = require('./generate');
|
||||
|
||||
class FlecksDockerOutput {
|
||||
module.exports = class FlecksDockerOutput {
|
||||
|
||||
constructor(options) {
|
||||
this.options = options;
|
||||
|
@ -28,6 +28,4 @@ class FlecksDockerOutput {
|
|||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default FlecksDockerOutput;
|
||||
};
|
|
@ -1,19 +1,6 @@
|
|||
import FlecksDockerOutput from './plugin';
|
||||
import startContainer from './start-container';
|
||||
|
||||
export const hooks = {
|
||||
'@flecks/core.build': (target, config, env, argv, flecks) => {
|
||||
if ('server' !== target) {
|
||||
return;
|
||||
}
|
||||
config.plugins.push(new FlecksDockerOutput({flecks}));
|
||||
},
|
||||
'@flecks/core.config': () => ({
|
||||
/**
|
||||
* Whether to run docker containers.
|
||||
*/
|
||||
enabled: true,
|
||||
}),
|
||||
'@flecks/server.up': async (flecks) => {
|
||||
if (!flecks.get('@flecks/docker/server.enabled')) {
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue
Block a user