Skip to content

JustLABv1/justflow

Repository files navigation

Buy Me A Coffee

JustFlow

JustFlow is a modern workflow automation platform, combining powerful orchestration with a beautiful interface. This repository contains both the frontend and backend code for the JustFlow application.

Dashboard Image

Table of Contents

Features

  • Project Management: Organize flows, invite members, and control access.
  • Flows: Design and automate workflows visually.
  • Failure Pipelines: Trigger recovery or alternative flows on errors.
  • Runners: Execute flows, self-hosted or shared, extensible via plugins.
  • Scalability: Scale JustFlow and runners to your workload.
  • Team Collaboration: Invite team members, assign roles, manage permissions.
  • Audit Logs: Track changes and activities for compliance and transparency.

Self Hosting & Setup

JustFlow can be self-hosted using Docker, Docker Compose, or Helm. You can set up JustFlow using the new automated setup flow (recommended) or manually via configuration files.

Note: JustFlow requires a separately hosted PostgreSQL database. The main JustFlow image does not include a built-in database.

Docker Images

  • ghcr.io/justlabv1/justflow:latest – Full version (frontend + backend)
  • ghcr.io/justlabv1/justflow:vx.x.x – Versioned releases
  • ghcr.io/justlabv1/justflow:frontend-latest – Frontend only
  • ghcr.io/justlabv1/justflow:backend-latest – Backend only

Setup Options

1. Automated Setup (Recommended)

After starting JustFlow, visit the /setup page in your browser. The setup wizard will guide you through configuring database, encryption, and admin user. All settings are stored securely and can be updated later in the admin area.

2. Environment Variables

You can configure JustFlow using environment variables for backend and frontend. See the documentation for all available variables.

3. Manual Configuration (Advanced)

You can still use a manual config.yaml for backend configuration. Mount your config file into the container:

docker run -p 8080:8080 -v /your/config/path/config.yaml:/etc/justflow/config.yaml ghcr.io/justlabv1/justflow:latest

Example config: config.yaml

Docker Compose

Use our docker-compose.yaml for a quick start. It includes PostgreSQL and the full JustFlow image. You can use the setup wizard or mount your own config file as described above.

Helm Chart

Deploy JustFlow with our Helm chart, which supports integrated setup and runner management. See the Helm Repo for details.

Frontend Only

To run only the frontend, provide the backend endpoint via environment variable:

docker run -p 80:3000 -e NEXT_PUBLIC_API_URL=https://api-url.com ghcr.io/justlabv1/justflow:frontend-latest

Backend Only

docker run -p 80:3000 -v /your/config/path/config.yaml:/etc/justflow/config.yaml ghcr.io/justlabv1/justflow:backend-latest

Runners

JustFlow uses the v1Flows Runner as its execution engine. At least one runner must be connected for flows to run. You can add runners via the setup wizard, project settings, or the admin runner page.

See the Runner repository for more information.

Project Structure

The project structure is organized as follows:

  • backend: API, business logic, database, configuration
  • frontend: User interface, components, pages, styles

Local Development

To develop JustFlow locally, you can use either the automated setup or manual config file:

Backend

  1. Clone the repository:

    git clone [email protected]:v1Flows/JustFlow.git
    cd justflow
  2. Install dependencies:

    cd services/backend && go mod download
  3. Start the backend:

    • Automated Setup:
      go run main.go
      Then visit http://localhost:8080/setup in your browser to complete the setup wizard.
    • Manual Config: Create your config.yaml (see example above) and run:
      go run main.go --config config/config.yaml

Frontend

  1. Navigate to the frontend directory:

    cd services/frontend
  2. Install dependencies:

    npm install
  3. Create a .env.local file and add the backend API URL:

    NEXT_PUBLIC_API_URL="http://localhost:8080"
  4. Start the development server:

    npm run dev

Contributing

We welcome contributions! To get started:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature/your-feature-name
  3. Make your changes and commit:
    git commit -m "Add your commit message"
  4. Push your branch:
    git push origin feature/your-feature-name
  5. Open a pull request on GitHub.

License

This project is licensed under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3. See the LICENSE for details.

About

Workflow Automation Platform

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages