| FROM ghcr.io/remsky/kokoro-fastapi-cpu:v0.2.0post3 | |
| # Switch to root so we can install packages | |
| USER root | |
| RUN apt-get update && apt-get install -y socat && rm -rf /var/lib/apt/lists/* | |
| # Set the dynamic port; Spaces will set this environment variable, defaulting here to 8880 | |
| ENV PORT=8880 | |
| # Expose the dynamic port | |
| EXPOSE ${PORT} | |
| # Override any inherited ENTRYPOINT or CMD by using our own one-liner: | |
| ENTRYPOINT ["/bin/sh", "-c", "\ | |
| echo 'Starting uvicorn on port 8880...'; \ | |
| uvicorn api.src.main:app --host 0.0.0.0 --port 8880 & \ | |
| pid=\$!; \ | |
| sleep 5; \ | |
| echo 'Starting socat: forwarding incoming \$PORT (${PORT}) to 8880...'; \ | |
| exec socat TCP-LISTEN:${PORT},reuseaddr,fork TCP:127.0.0.1:8880"] | |
| CMD [] |