Skip to content

Instantly share code, notes, and snippets.

@tomsing1
Created February 15, 2021 20:15
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save tomsing1/126868040a3b3795f7bdb61d76a85a60 to your computer and use it in GitHub Desktop.
Save tomsing1/126868040a3b3795f7bdb61d76a85a60 to your computer and use it in GitHub Desktop.
Setting up nextflow tower locally

Installing Nextflow on a Mac

  • Install JAVA 8
 brew install adoptopenjdk8
  • Install Nextflow: curl https://get.nextflow.io | bash in the current directory
  • Optional: Move the nextflow binary to a directory that is in the PATH.

Installing a local version of Nextflow tower on a Mac

Prerequisite: Java, docker

Clone the repository and build the application

git clone git@github.com:seqeralabs/nf-tower.git
cd nf-tower
make build
  • Sign up for an SMPT email account at mailtrap, then click on Show Credentials near the top of the My Inbox -> SMTP Settings page

  • Create a tower.yml file in the root directory of the repository with the information from mailtrap, e.g.

TOWER_SMTP_HOST: smtp.mailtrap.io
TOWER_SMTP_PORT: 25
TOWER_SMTP_USER: << mailtrap user >>
TOWER_SMTP_PASSWORD: << mailtrap password >>

Run the application

make run
  • Then navigate to the local website and request a login token.
  • Check the mailtrap inbox for the login link and click it, to enter the local tower.
  • Export the authentication token as an environmental variable, it is available under your avatar (top right) -> Your tokens
export NXF_VER=20.10.0 
export TOWER_ACCESS_TOKEN=50840b0c64a335a1a32e90e38cf0cdad654a0463

Run a test pipeline

In a different terminal window run

nextflow run hello -with-tower 'http://localhost:8000/api'

Limitations

  • The open-source version of Nextflow does not support the creation* of environments, that needs to be configured manually.
  • Details on how to configure Nextflow with AWS Batch are here
@nick-youngblut
Copy link

I'm getting the following when running make build:

> Task :tower-backend:jibDockerBuild

Containerizing application to Docker daemon as tower-backend...
Base image 'seqeralabs/nf-jdk:corretto-8u252' does not use a specific image digest - build may not be reproducible
The base image requires auth. Trying again for seqeralabs/nf-jdk:corretto-8u252...
The credential helper (docker-credential-desktop) has nothing for server URL: registry-1.docker.io

I guess there can be more to the setup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment