lordraw/open-automator-fastapi

By lordraw

Updated 7 months ago

REST API for Open-Automator - Execute workflows programmatically with async support and webhooks.

Image
Languages & frameworks
API management
0

737

lordraw/open-automator-fastapi repository overview

Open-Automator API

Docker Image Version Docker Pulls Image Size Platform

RESTful API for executing and managing Open-Automator workflows programmatically.


Overview

Open-Automator API provides a FastAPI-based REST interface for workflow automation. Execute workflows via HTTP requests, manage credentials securely, monitor execution status, and integrate automation into your applications and services.

Key Features
  • 🚀 REST API - Execute workflows via HTTP POST/GET requests
  • 📊 Async Execution - Non-blocking workflow execution
  • 🔐 Secure Authentication - API key and JWT token support
  • 📝 OpenAPI/Swagger - Auto-generated interactive API documentation
  • 🔄 Webhook Support - Trigger workflows from external events
  • 📤 Result Retrieval - Query execution status and results
  • 🎯 Job Queue - Manage concurrent workflow executions
  • 🌐 Multi-Platform - Native support for AMD64 and ARM64 architectures

Quick Start

Basic Usage
docker run -d \
  -p 8000:8000 \
  --name open-automator-fastapi \
  lordraw/open-automator-fastapi:latest

Access API at http://localhost:8000 API Docs at http://localhost:8000/docs

With Persistent Storage
docker run -d \
  -p 8000:8000 \
  -v $(pwd)/workflows:/app/workflows \
  -v $(pwd)/data:/app/data \
  -v $(pwd)/logs:/app/logs \
  --name open-automator-fastapi \
  lordraw/open-automator-fastapi:latest
With Authentication
docker run -d \
  -p 8000:8000 \
  -v $(pwd)/workflows:/app/workflows \
  -e API_KEY=your_secure_api_key_here \
  -e OA_WALLET_FILE=/app/data/wallet.enc \
  -e OA_WALLET_PASSWORD=wallet_password \
  --name open-automator-fastapi \
  lordraw/open-automator-fastapi:latest
Custom Port
docker run -d \
  -p 3000:8000 \
  -v $(pwd)/workflows:/app/workflows \
  --name open-automator-fastapi \
  lordraw/open-automator-fastapi:latest

Access at http://localhost:3000


Environment Variables

VariableDescriptionDefault
FASTAPI_PORTAPI server port8000
FASTAPI_HOSTServer bind address0.0.0.0
API_KEYAPI authentication key-
JWT_SECRETJWT token secret-
OA_WALLET_FILEPath to wallet file-
OA_WALLET_PASSWORDWallet encryption password-
OA_LOG_LEVELLogging levelINFO
OA_WORKFLOWS_DIRWorkflows directory/app/workflows
OA_DATA_DIRData directory/app/data
OA_LOGS_DIRLogs directory/app/logs
MAX_CONCURRENT_JOBSMax concurrent executions5
JOB_TIMEOUT_SECONDSJob timeout3600
ENABLE_CORSEnable CORStrue
CORS_ORIGINSAllowed CORS origins*

Volume Mounts

Container PathPurposeRecommended
/app/workflowsYAML workflow files✅ Yes
/app/dataPersistent data (wallets, state)✅ Yes
/app/logsExecution and API logs✅ Yes
/app/resultsWorkflow execution resultsOptional

Docker Compose

Basic Setup
version: '3.8'

services:
  api:
    image: lordraw/open-automator-fastapi:latest
    container_name: open-automator-fastapi
    ports:
      - "8000:8000"
    volumes:
      - ./workflows:/app/workflows
      - ./data:/app/data
      - ./logs:/app/logs
    environment:
      - API_KEY=your_secure_api_key
      - OA_LOG_LEVEL=INFO
    restart: unless-stopped

Environment Variables

VariableDescriptionDefault
FASTAPI_PORTAPI server port8000
FASTAPI_HOSTServer bind address0.0.0.0
API_KEYAPI authentication key-
JWT_SECRETJWT token secret-
OA_WALLET_FILEPath to wallet file-
OA_WALLET_PASSWORDWallet encryption password-
OA_LOG_LEVELLogging levelINFO
OA_WORKFLOWS_DIRWorkflows directory/app/workflows
OA_DATA_DIRData directory/app/data
OA_LOGS_DIRLogs directory/app/logs
MAX_CONCURRENT_JOBSMax concurrent executions5
JOB_TIMEOUT_SECONDSJob timeout3600
ENABLE_CORSEnable CORStrue
CORS_ORIGINSAllowed CORS origins*

Volume Mounts

Container PathPurposeRecommended
/app/workflowsYAML workflow files✅ Yes
/app/dataPersistent data (wallets, state)✅ Yes
/app/logsExecution and API logs✅ Yes
/app/resultsWorkflow execution resultsOptional

API Endpoints

Core Endpoints
MethodEndpointDescription
GET/Root endpoint with API info
GET/healthHealth check
GET/docsSwagger UI documentation
GET/redocReDoc documentation
Workflow Execution
MethodEndpointDescription
POST/api/v1/executeExecute workflow
POST/api/v1/execute-syncExecute workflow (synchronous)
GET/api/v1/status/{job_id}Get execution status
GET/api/v1/result/{job_id}Get execution result
DELETE/api/v1/cancel/{job_id}Cancel running job
Workflow Management
MethodEndpointDescription
GET/api/v1/workflowsList workflows
GET/api/v1/workflows/{name}Get workflow details
POST/api/v1/workflowsUpload new workflow
PUT/api/v1/workflows/{name}Update workflow
DELETE/api/v1/workflows/{name}Delete workflow
Webhooks
MethodEndpointDescription
POST/api/v1/webhooksRegister webhook
GET/api/v1/webhooksList webhooks
DELETE/api/v1/webhooks/{name}Delete webhook
POST/webhooks/{name}Trigger webhook
Jobs & History
MethodEndpointDescription
GET/api/v1/jobsList recent jobs
GET/api/v1/jobs/{job_id}Get job details
GET/api/v1/jobs/{job_id}/logsGet job logs

Image Details

  • Base Image: python:3.12-slim
  • Size: ~500MB
  • Platforms: linux/amd64, linux/arm64
  • Exposed Port: 8000
  • Working Directory: /app
  • User: root (can be changed)

Support


Built with ❤️ by the Open-Automator team

Tag summary

Content type

Image

Digest

sha256:edd2b930a

Size

300.5 MB

Last updated

7 months ago

docker pull lordraw/open-automator-fastapi