24 lines
738 B
TypeScript
24 lines
738 B
TypeScript
for await (const service of Deno.readDir('.')) {
|
|
if (service.isFile || !service.name.includes('-service')) continue;
|
|
|
|
const serviceFile = './' + service.name + '/';
|
|
const serviceName = service.name.replace('-service', '');
|
|
const port = await Deno.readTextFile(serviceFile + 'port');
|
|
const perms = (await Deno.readTextFile(serviceFile + 'perms')).split('\n');
|
|
await Deno.writeTextFile(serviceFile + 'Dockerfile', `
|
|
FROM denoland/deno:1.33.2
|
|
${port ? 'EXPOSE ' + port : ''}
|
|
|
|
WORKDIR /${serviceName}
|
|
|
|
ADD ./user-service .
|
|
COPY ./deno.jsonc .
|
|
COPY ./secrets.json .
|
|
COPY ./key.txt .
|
|
ADD ./common ./common
|
|
ADD ./lib ./lib
|
|
ADD ./middleware ./middleware
|
|
|
|
CMD ["run", "${perms.join('", "')}", main.ts${port ? `, "${port}"` : ''}]
|
|
`);
|
|
} |