This repository provides a Conda/Micromamba environment for managing workflows using Nextflow and Singularity (via Apptainer).
To create the environment, follow these steps:
If you don't have micromamba
installed, you can download it by following the instructions on the official micromamba documentation.
For micromamba
, you can use the following commands to download and install it:
curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba
sudo mv bin/micromamba /usr/local/bin/micromamba
Once micromamba
(or Conda) is installed, you can create the environment from the environment.yml
file:
If you're using Micromamba, run the following command to create the environment:
micromamba env create -f environment.yml
The omi-command-base
package includes a FastAPI-based command execution server that provides a secure and isolated environment for running shell commands. The server exposes a REST API for command execution and monitoring.
command_server.py
: FastAPI server implementation for executing commands
- Update the conda environment to include FastAPI dependencies:
conda env update -f environment.yml
- If using tmux:
Lists active sessions (if any)
tmux list-sessions
Attach a new tmux session, then start the server by following steps below
tmux attach -t <name>
Kill a specific session
tmux kill-session -t <name>
- Start the command server:
uvicorn command_server:app --host 0.0.0.0 --port 8843
The server will run on http://terminator8.cs.rice.edu:8843
by default.
POST /api/v1/commands
: Submit a new command for execution{ "command": "string", "file": "UploadFile", "working_directory": "string (optional)" }