Use a custom Dockerfile
Use a custom Dockerfile when your app needs extra system packages, such as fonts or document-processing tools.- Open Code and select
Dockerfile. If your project has none, add one at the project root. - Add the packages your app needs in the final runtime stage, before
USER 10000:10000. For example, to add fonts to the standard Alpine-based starter:
- Keep the existing frontend build steps and application startup command.
- Save and publish, then test the app in Production.
Add a cron job
For a nightly Peliqan data sync, use a scheduled Data App. Its schedule runs independently of the Machine’s web server. Use cron inside the Machine when the task belongs with the running app. For example, run your dashboard’s summary-refresh script every hour:- Add your refresh logic in
backend/refresh_summary.pyand test it in Development. - Add a file named
crontabat the project root:
- In the Dockerfile’s final runtime stage, before
USER, add:
- Add the
entrypoint.shbelow. Keep the starter’s existingCMD ["python", "backend/run.py", "start"]so the web app starts alongside the scheduler. - Save and publish. Cron starts in Production; test the Python script manually in Development.
entrypoint.sh — start the web app and scheduler together
entrypoint.sh — start the web app and scheduler together
This script stops the container if either process exits and forwards shutdown signals to both. Peliqan AI can add these files to your existing project.
CPU and memory
Choose Production memory in Settings or Publish, within your account’s available pool.
CPU values are maximum limits. Applying a memory change restarts the app; exceeding its memory limit can also cause a restart.
Operating system and network
- Linux: Development uses Alpine Linux with Python 3.12 and Node.js. Production uses your Dockerfile’s Linux image, built for
linux/amd64. - Runtime: keep user
10000:10000and HTTP on0.0.0.0:8080. The root filesystem is read-only; use/tmpfor temporary output. - Inbound: users open the app over HTTPS. Other ports exposed in the Dockerfile are not publicly accessible.
If an integration needs another connection path, contact Peliqan Support.
