All pages
Powered by GitBook
1 of 4

Loading...

Loading...

Loading...

Loading...

Installation

We are currently testing installers for Windows and macOS. Until those are publicly available, please follow the manual installation steps.

Manual Install

This guide will help you download the Omnitool software, and then build and start the Omnitool server in a directory running from your local machine.

You can then access the Omnitool software from a web browser on your local machine.

  1. Prerequisites

Ensure you have the latest versions of the following software installed:

  • Latest Git

  • Latest LTS Node.js

  • Classic Yarn

  1. Get the Source Code

  • Open a terminal

  • Navigate to where you want Omnitool to be installed

  • Use the following command:

  git clone https://github.com/omnitool-ai/omnitool

This will create the omnitool folder.

  • Now navigate inside Omnitool's folder. By default:

  cd omnitool
  1. Install Source Dependencies

Run the following command in the root of the repository to install the necessary dependencies:

  yarn install
  1. Build and Start the Server

Now we will use yarn and Node.js to build the server software locally on your machine and then start it running.

  yarn start

See Configuration for the available parameters.

When successful, you will see the following message:

◐ Booting Server
✔ Server has started and is ready to accept connections on http://127.0.0.1:1688.
✔ Ctrl-C to quit.
  1. Open Omnitool in a Web Browser

Omnitool.ai can now be accessed from: 127.0.0.1:1688

Explore the Code For a list of scripts we use internally, try running:

yarn run

Other Installation Methods:

  • A Docker Image is under testing.

  • A HuggingFace Space is available.

  • If you're interested in cloud-based operation, reach out to us at contact@omnitool.ai

Getting Started

FAQ

Q: Yarn Install Failure due to Missing Python 'distutils' Module in Python 3.12

A: If you're encountering a failure during yarn install due to the absence of the 'distutils' module in Python 3.12, follow these steps to resolve the issue:

  1. Run Our Fix Script:

    • We have developed a fix script that can automatically detect and resolve potential issues related to this error.

    • To run the script, execute node setup\fix.js in your terminal.

    • This script will attempt to rectify the issue and prepare your environment for a successful yarn install.

  2. Manually Install 'setuptools':

    • If you prefer a manual approach or if the script does not resolve the issue, you can install the 'setuptools' module using pip.

    • Run the command pip install setuptools in your terminal.

    • 'setuptools' is a collection of enhancements to the Python distutils that allow for easier building and distribution of Python packages, and it should help resolve the missing module issue.

  3. Retry Yarn Install:

    • After applying the fix, run yarn install again in your project directory.

Q: .pnp.cjs error

A: This error typically occurs when there is a .pnp.cjs file located in a parent folder (like /.yarn) that conflicts with Omnitool's operations. To resolve this issue, follow these steps:

  1. Locate the .pnp.cjs File:

    • Check the parent directories of your Omnitool project for a .pnp.cjs file. This file is often found in a /.yarn folder.

  2. Resolve the Conflict:

    • Option 1: Delete the .pnp.cjs File

      • If this file is not required for other projects, you can safely delete it.

      • Be cautious and ensure that removing this file does not affect other projects relying on it.

    • Option 2: Clone Omnitool in a Different Folder

      • If the .pnp.cjs file is needed for other projects, consider cloning your Omnitool repository into a different directory where no .pnp.cjs file exists in any parent folders.

  3. Re-Run Omnitool

Q: `Permisson Denied' Error on node_modules

A: To resolve this issue, follow these steps:

  1. Remove the Existing node_modules Directory:

    • Run the command sudo rm -rf node_modules in your project's root directory.

    • This command forcefully removes the existing node_modules directory and all of its contents.

  2. Reinstall Dependencies:

    • After successfully removing the node_modules directory, run yarn install to reinstall all your project dependencies.

    • This command will create a new node_modules directory with the correct permissions and all the necessary modules based on your project's package.json and yarn.lock files.

Configuration

Available Parameters for yarn start

When running the yarn start command, you can customize its behavior by using various parameters (options). Here is a list of available parameters along with their descriptions:

  • -u, --updateExtensions: Update all extensions.

  • -rb, --refreshBlocks: Refresh block definitions.

  • -px, --pruneExtensions: Prune deprecated extensions.

  • -R, --resetDB <scope>: Reset the database on startup. Valid scopes are blocks and settings.

  • --chown <user>: Reparent all unowned files in CDN storage to this user.

  • -ll, --loglevel <level>: Set the logging level. Default is set to the server's logger level.

  • --emittery: Enable emittery debug logs. Always disabled on log level silent (0).

  • --verbose: Enable maximum logging level.

  • -purl, --publicUrl <url>: Set the external address for services that require it. Default is the server's public URL.

  • --fastifyopt <fastifyopt>: Advanced Fastify options in JSON Object format. Default is set to limit the request body size to 32MB.

  • -p, --port <port>: Overwrite the listening port. Default is 1688.

  • --openBrowser: Automatically open a web browser.

  • -nx, --noExtensions: Disable all non-core extensions.

  • -s, --secure <secure>: Enforce a secure connection. Default is false.

  • --dburl <url>: Connection URL to the database.

  • --dbuser <user>: DB admin user. Default is admin@local.host.

  • --viteProxy <url>: Specify the Vite debugger URL.

  • --autologin: Enable automatic user login.

  • --uncensored: Disable NSFW (Not Safe For Work) protections.

  • --flushLogs: Flush logs to the database.

  • -l, --listen <addr>: Sets the interface the host listens on (required).

Please find the latest options in this code:

Unexpected error with integration github-files: Integration is not installed on this space