battlelog/createMissingContainers.ts
2023-05-04 20:04:06 -06:00

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}"` : ''}]
`);
}