Docker Compose
This guide assumes that all prerequisites have been met. Please visit the corresponding Prerequisites page for your infrastructure provider.
Deploy Tower#
Click to view tower.env
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
Click to view tower.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
Click to view docker-compose.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
|
-
Download and configure tower.env.
-
Download and configure tower.yml, update values for allowed emails.
-
Download and configure docker-compose.yml.
The
db
andmail
containers should only be used for local testing; you may remove them if you have set up these services elsewhere.Make sure to customize the
TOWER_ENABLE_PLATFORMS
variable to include the execution platform(s) you will use. -
Download the appropriate script for the container registry you wish to use:
- Amazon ECR: env-ecr.sh
- Azure ACR: env-acr.sh
- Google AR: env-gar.sh
This script simply defines the repository URL and tag of the Tower container images. Refer to the corresponding Prerequisites page for instructions on how to authenticate Docker to pull these images.
-
Deploy Tower and wait for it to initialize (takes a few minutes):
1 2
source env-*.sh docker-compose up
Note
For more information on configuration, please visit Configuration options.
Test the application#
To make sure that Tower is properly configured, please follow these steps:
-
Login to Tower.
-
Create an organization.
-
Create a workspace within that organization.
-
Create a new Compute Environment. Refer to Compute Environments for detailed instructions.
-
Select Quick Launch from the Launchpad tab in your workspace.
-
Enter the repository URL for the
nf-core/rnaseq
pipeline (https://github.com/nf-core/rnaseq
). -
In the Config profiles dropdown, select the
test
profile. -
In the Pipeline parameters textarea, change the output directory to a sensible location based on your Compute Environment:
1 2 3 4 5
# save to S3 bucket outdir: s3://<your-bucket>/results # save to scratch directory (Kubernetes) outdir: /scratch/results
-
Select Launch.
You'll be transitioned to the Runs tab for the workflow. After a few minutes, you'll see the progress logs in the Execution log tab for that workflow.
Tip
Once you've made sure that Tower is configured correctly and you can launch workflows, you can run docker-compose up -d
to deploy Tower as a background process, so that you can disconnect from the VM instance.