Docker.Service.AI.AUDIOCRAFT_MEDIUM.js
JavaScript source for AI models in Docker containers, 35 lines. Raw file
const Security = require('Security');
const Docker = {
Service: {
Start: require("./../Docker.Service.Start"),
AI: {
AUDIOCRAFT_MEDIUM: (serviceName, port) => {
serviceName = Security.String(serviceName);
port = Security.Integer(port);
const dockerfileContent = [
`FROM python:3.11`,
`WORKDIR /app`,
`RUN apt-get update && apt-get install -y git nano wget`,
`RUN git clone https://github.com/facebookresearch/audiocraft.git`,
`WORKDIR /app/audiocraft`,
`RUN pip install -r requirements.txt`,
`RUN pip install websockets`,
`RUN python -c "from audiocraft.models import MusicGen; MusicGen.get_pretrained('medium', device='cpu')"`,
`COPY server.py .`,
`CMD ["python", "server.py"]`
].join("\n");
let containerArgs = [
`-p${port}:1337`,
];
const contextPath = __dirname+`/../../../resources/Docker.Service.AI.AUDIOCRAFT_MEDIUM`;
return Docker.Service.Start(serviceName, dockerfileContent, contextPath, containerArgs);
}
}
}
}
module.exports = Docker.Service.AI.AUDIOCRAFT_MEDIUM