• This repository has been archived on 16/Oct/2023
  • Stars
    star
    140
  • Rank 261,473 (Top 6 %)
  • Language
    Groovy
  • License
    Mozilla Public Li...
  • Created over 5 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Nextflow Tower system

Nextflow Tower logo

Chat on Gitter

Nextflow Tower is an open source monitoring and management platform for Nextflow workflows developed by Seqera Labs.

Availability

A free-to-use public Tower service is available at tower.nf.

The community version of Tower is available from this repository. It can be deployed in a user's own environment and has features for single users to monitor their Nextflow pipelines, deployed anywhere.

The fully-featured enterprise version of Tower is available from Seqera Labs. It can be deployed in any on-premise or cloud environment and includes advanced workflow management, resource optimization, and enterprise-grade support. To learn more, please visit Seqera Labs.

Requirements

  • Java 8
  • Docker engine

Build the environment

make build

Run locally

make run

See docker-compose.yml file for details.

Backend settings

Tower backend settings can be provided in either:

  • application.yml in the backend class-path
  • tower.yml in the launching directory

A minimal config requires the settings for the SMTP server, using the following variables:

  • TOWER_SMTP_HOST: The SMTP server host name e.g. email-smtp.eu-west-1.amazonaws.com.
  • TOWER_SMTP_PORT: The SMTP server port number e.g. 587.
  • TOWER_SMTP_USER: The SMTP user name.
  • TOWER_SMTP_PASSWORD: The SMTP user password.

Basic use case

Navigate to GUI in http://localhost:8000 and follow the instructions.

Development

Backend execution

Define the following env variables:

  • TOWER_SMTP_USER=<smtp user name>
  • TOWER_SMTP_PASSWORD=<smpt password>

See tower-backend/src/main/resources/application.yml for further config details.

Launch the backend with the command:

./gradlew tower-backend:run --continuous

Frontend execution

cd tower-web
npm install
npm run livedev

Database

Tower is designed to be database agnostic and can use most popular SQL database servers, such as MySql, Postgres, Oracle and many other.

By default it uses H2, an embedded database meant to be used for evaluation purpose only.

Environment variables:

  • TOWER_APP_NAME: Application name.
  • TOWER_SERVER_URL: Server URL e.g. https://tower.nf.
  • TOWER_CONTACT_EMAIL: Sysadmin email contact e.g. [email protected].
  • TOWER_DB_CREATE: DB creation policy e.g. none.
  • TOWER_DB_URL: Database JDBC connection URL e.g. jdbc:mysql://localhost:3307/tower.
  • TOWER_DB_DRIVER: Database JDBC driver class name e.g. com.mysql.cj.jdbc.Driver.
  • TOWER_DB_DIALECT: Database SQL Hibernate dialect org.hibernate.dialect.MySQL55Dialect.
  • TOWER_DB_USER: Database user name.
  • TOWER_DB_PASSWORD: Database user password.
  • TOWER_SMTP_HOST: SMTP server host name.
  • TOWER_SMTP_PORT: SMTP server port e.g. 587.
  • TOWER_SMTP_AUTH: SMTP server authentication eg true
  • TOWER_SMTP_USER: SMTP server user name.
  • TOWER_SMTP_PASSWORD: SMTP server user password.

Support

  • For common problems, doubts and feedback please use the Gitter community channel or the GitHub issues page.
  • This source code is distributed as it is for community adoption.
  • Distribution packages, deployment scripts, maintenance updates, migration scripts and custom integrations are available to customers of Seqera Labs.

License

Mozilla Public License v2.0

More Repositories

1

tower-cli

Nextflow Tower CLI tool
Java
42
star
2

wave

On-demand containers provisioning service
Groovy
27
star
3

seqera-kit

Python implementation and field-tool for automated pipeline launching through Tower CLI (beta)
Python
25
star
4

wave-showcase

Examples showing how to configure Nextflow to run with Wave containers provisioning service
Nextflow
19
star
5

nf-k8s-best-practices

A best practices guide for Nextflow on Kubernetes
Shell
18
star
6

nf-training-advanced

Customer workshop materials
Nextflow
16
star
7

gatk4-germline-snps-indels

Workflow for germline short variant discovery using GATK4
Nextflow
12
star
8

showcase

Infrastructure as code implementation of the seqeralabs/showcase on Seqera
Shell
11
star
9

wave-cli

Command line tool for Wave containers provisioning service
Java
10
star
10

nf-dragen

POC Nextflow pipeline to run Illumina DRAGEN software
Nextflow
10
star
11

tower-agent

Agent app that allows connecting remote batch schedulers to Tower Cloud
Java
8
star
12

nf-tower-docs

Nextflow Tower Documentation
CSS
6
star
13

nf-tower-aws

Repository containing required policies for Nextflow Tower deployment on AWS
6
star
14

nf-sentieon

POC Nextflow pipeline to run Sentieon software
Nextflow
5
star
15

nf-aggregate

Pipeline to aggregate pertinent metrics across pipeline runs on the Seqera Platform (beta)
HTML
5
star
16

git-readme

An opinionated collection of Git one-liners
4
star
17

nf-canary

A minimal Nextflow workflow for testing infrastructure.
Nextflow
4
star
18

multi-projects

Sandbox for nextflow multi-project in Nextflow.
Nextflow
4
star
19

unsafe-tracker

JVM agent that track access to off-heap memory via Unsafe class (BETA)
Java
4
star
20

terraform-seqera-aws

HCL
4
star
21

conda-recipes

Conda recipes for the Eel project
Shell
3
star
22

logos

Seqera official logos
3
star
23

nf-training-intro

Nextflow
3
star
24

docker-sync

Script to sync a Docker repositories
Shell
2
star
25

tower-public-roadmap

The Tower public roadmap
2
star
26

nextflow-website

WORK IN PROGRESS - Nextflow website Hugo based
HTML
2
star
27

datasets-automation-blog

Repository for the Seqera Labs Workflow Automation for Nextflow Tower Pipelines blog post
Python
2
star
28

cx-field-tools-installer

Unofficial Terraform solution to help clients install Seqera Platform
HCL
2
star
29

xpack-google

Google extension package for Nextflow
2
star
30

platform-installer

Seqera Platform installer scripts
Shell
2
star
31

nf-raffle

This repository contains code for the nf-raffle pipeline by Seqera, used to conduct raffles at events.
HTML
1
star
32

nf-schema-testing

Dummy pipeline for testing variations of the Nextflow schema
Nextflow
1
star
33

aws-s3-download

Bare minimal S3 download client for testing purpose
Java
1
star
34

xpack-dnanexus

DNAnexus extension package for Nextflow
Shell
1
star
35

event-handler-app-interview

A repository with a skeleton application for remote Interview
Groovy
1
star
36

nf-pipelines

Nextflow
1
star
37

nf-core-tower-azure-poc

Shell
1
star
38

setup-seqerakit

Github Action to set up seqerakit
1
star
39

docs

Source code for the Seqera documentation portal.
MDX
1
star
40

libseqera

Library for Java & Groovy modules shared across Seqera projects
Groovy
1
star
41

fusion-vs-mountpoint-benchmark

Benchmark suite to compare of Fusion, AWS Mountpoint and RClone
Shell
1
star
42

slurm-simulator

Allow simulating Slurm command locally running it in Docker container
Shell
1
star