Skip to main content

Documentation Index

Fetch the complete documentation index at: https://wiki.daki.cc/llms.txt

Use this file to discover all available pages before exploring further.

The Startup tab in the Portal controls how your server builds and launches. It contains three key settings: the Docker image (runtime version), the install command (dependency setup), and the startup command (what launches your application). Getting these right is essential for your server to work correctly.

What you’ll learn

  • How to select the correct Docker image (runtime version)
  • The difference between the install command and the startup command
  • Common examples for Node.js and Python
  • How to use the Startup tab for interactive shell access

Docker Image

Daki runs each server inside a Docker container. The Docker image determines which programming language version is available inside that container. The Startup tab has a dropdown to select the image. Always match it to what your application requires.
RuntimeExample images
Node.jsNode.js 18, Node.js 20, Node.js 22, Node.js 24
PythonPython 3.11, Python 3.12
JavaJava 17, Java 21
OthersRust, C#, Lua, and more (paid plans)
Choosing the wrong runtime version causes startup failures. If your project requires Node.js 22 features, do not select Node.js 18.

Install Command

The install command runs once when your server is set up or reinstalled. It is designed for installing dependencies and preparing your environment.
RuntimeTypical install command
Node.jsnpm install
Pythonpip install -r requirements.txt
Set this field so that your dependencies are installed automatically. You can customise this command freely to match your project’s needs — for example, if you use a different package manager (e.g., yarn install or pnpm install).

Startup Command

The startup command runs every time your server starts. This is the command that actually launches your application.
Application typeStartup command
Node.js — single entry filenode index.js
Node.js — npm start scriptnpm start
Python — single entry filepython main.py
Python — as a modulepython -m mypackage
You are free to customise the startup command to suit your project’s structure, entry point, and any flags or arguments your application needs. Important: Filenames are case-sensitive. Make sure the filename in your startup command matches exactly what appears in the file manager.

Interactive Shell Access

If you want to interact with the container directly and run commands manually — for example, to debug, inspect files, or run one-off commands — you can temporarily set the startup command to bash.
  1. Go to the Startup tab.
  2. Change the startup command to bash.
  3. Restart your server.
  4. Open the Console tab — you can now type shell commands directly.
While the startup command is set to bash, your application will not start automatically. Restore your original startup command when you are done. See Console & Power Actions for more details.

Changing the Egg (Programming Language)

The egg defines the overall programming language and framework. To switch from one language to another (e.g., Node.js → Python), use the Settings tab — not the Startup tab. Changing the egg triggers a reinstall; backups are strongly recommended beforehand. See Server Settings.

Tips

  • Restart your server after changing any setting in the Startup tab for changes to take effect.
  • If your server crashes immediately after starting, the Console tab output almost always shows why.
  • Double-check filenames in your startup command against what appears in the file manager.

Next Steps