Headless

A standalone headless studio for local deployment (typically on NAS), without Electron or server-side scheduling.

Local Development

  1. Prepare the .env file:

    OOMOL_ENV=prod
    OOMOL_TOKEN= # Optional, for connecting to OOMOL services https://console.oomol.com/api-key
    START_API_SERVER=true
    START_UI_SERVER=true
    OOMOL_LOCAL=1
    ENABLE_OOMOL_CONNECT=true # Recommended, enables remote operations
  2. Build with pnpm build

  3. Run with pnpm start

Docker Deployment

  1. Prepare the storage directory, for example:

    mkdir -p $HOME/oomol-storage
  2. Prepare the environment variables file:

    Place .env in $HOME/.oomol-studio/headless/.env with the following content (note: remove OOMOL_LOCAL=1):

    OOMOL_ENV=prod
    OOMOL_TOKEN= # Optional, for connecting to OOMOL services
    START_API_SERVER=true
    START_UI_SERVER=true
    ENABLE_OOMOL_CONNECT=true # Recommended, enables remote operations
  3. Pull and run the Docker image, binding the storage directory and environment variables file:

    docker pull oomolstudio/headless:latest

    docker run -d --privileged --name oomol-headless -p 4000:4000 -p 52222:52222 --mount type=bind,src=$HOME/.oomol-studio/headless/.env,dst=/app/.env --mount type=bind,src=$HOME/oomol-storage,dst=/oomol-driver/oomol-storage oomolstudio/headless:latest
  4. Access the UI at http://localhost:4000.

Environment Variables

ENABLE_OOMOL_CONNECT

Recommended configuration: ENABLE_OOMOL_CONNECT=true

When enabled, you can remotely operate your Headless instance through connect.oomol.com, including:

  • Remote function calls
  • Remote package installation
  • Remote workflow management

We highly recommend enabling this option as it significantly improves your user experience.