PapenfussLab / PathOS

PathOS is a clinical application for filtering, analysing and reporting on NGS variants
https://www.petermac.org/about/signature-centres/centre-clinical-cancer-genomics/molecular-diagnostic-software
GNU General Public License v3.0
28 stars 8 forks source link

docker-compose build #5

Open foxchase opened 7 years ago

foxchase commented 7 years ago

Error by running "docker-compose build" ERROR: In file './docker-compose.yml' service 'version' doesn't have any configuration options. All top level keys in your docker-compose.yml must map to a dictionary of configuration options.

My docker-compose version is 1.5.2, build unknown

kendoig commented 7 years ago

You don't have the "[-d]" on the command line do you ? This is indicating that you can add the "-d" if you want the containers to run in background. the "[]" are not meant to be typed.

What platform are you running on and do you have the latest Docker installed ? Can you paste in the commands and output to the following: % docker --version % cat docker-composer.yml % ls -l /Users/PathOS/Dockish-PathOS/docker/pathos % docker-compose up

foxchase commented 7 years ago

Thanks Ken, see below; Ubuntu: 16.04LTS affymetrix2@affymetrix2-PC:~/Desktop/NGS/PathOS/Dockish-PathOS/docker$ docker --version Docker version 1.12.6, build 78d1802 affymetrix2@affymetrix2-PC:~/Desktop/NGS/PathOS/Dockish-PathOS/docker$ cat docker-composer.yml cat: docker-composer.yml: No such file or directory affymetrix2@affymetrix2-PC:~/Desktop/NGS/PathOS/Dockish-PathOS/docker$ cat docker-compose.yml version: '3'

services:

The MariaDB (Mysql) database

#
# The actual database data storage is mounted from 
# the data-only container pathos-mariadb-data.
#
# The SQL script mounted in the init.d directory
# ensures that the dblive database is present and
# that the 'bioinformatics' user is created and has
# appropriate access rights.
#
# Note that because the database sits on the docker
# private network, passwords are not a huge issue.
#
pathos-mariadb:
    image: mariadb:10
    environment:
        - MYSQL_ROOT_PASSWORD=pathos
    volumes:
        - pathos-mariadb-data:/var/lib/mysql
        - ${PWD}/pathos-mariadb/01-initdb.sql:/docker-entrypoint-initdb.d/01-initdb.sql

# Tomcat (7) server
#
# The main PathOS tomcat server is in this container.
# Following the separation-of-concerns principle of docker,
# all the other entities are housed in other containers.
#
# The server loads the PathOS.war file and uses a fixed pathos.properties file.
#
pathos-tomcat:
    build: ./pathos-tomcat/
    depends_on:
        - pathos-mariadb
    links:
        - pathos-mariadb

# PathOS commandline tools
#
# This container uses the same pathos.properties file as the tomcat server,
# and provides the various command-line tools.
#
# NB - this is the least tested aspect of the system.
#
pathos-tools:
    build: ./pathos-tools/
    depends_on:
        - pathos-mariadb
    links:
        - pathos-mariadb

# HTTPD for serving bam/vcf files.
#
# This server assumes the presence of a directory
# hierarchy under /pathology containing the BAM/VCF
# files (etc) used by IGV.
#
pathos-httpd:
    image: httpd
    volumes:
        - ${PWD}/pathos-httpd/httpd.conf:/usr/local/apache2/conf/httpd.conf
        - ${PATHOS_DATA}:/pathology

# Front end proxy
#
# This front-end proxy server allows the tomcat and httpd servers
# to be accessed from a single unified access point.
#
# It is configured so that all URLs starting with /PathOS are directed
# to the tomcat server and all others to the httpd.
#
# It also serves both HTTP and HTTPS.
# If it is desired thsat only one or the other is used, one of the two
# ports exposed below can be commented out (80:80 exposes HTTP, and
# 443:443 exposes HTTPS).
#
# If HTTPS is being used, the default self-signed certificate can be
# overridden either by setting the PATHOS_CERT in the environment when
# docker-compose is invoked, or by editing the .env file which contains
# a default value.
#
pathos-front:
    image: haproxy:alpine
    depends_on:
        - pathos-tomcat
        - pathos-httpd
    volumes:
        - ${PWD}/pathos-front/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
        - ${PATHOS_CERT}:/etc/ssl/private/cert.pem
    ports:
        - 80:80
        - 443:443

volumes:

This is the data-only container used to store the database files.

pathos-mariadb-data:

affymetrix2@affymetrix2-PC:~/Desktop/NGS/PathOS/Dockish-PathOS/docker$ ls -l ./pathos total 145436 drwxr-xr-x 2 root root 4096 May 16 16:22 bin drwxr-xr-x 2 root root 4096 May 16 16:22 etc drwxr-xr-x 2 root root 4096 May 16 16:22 lib -rw-r--r-- 1 root root 113239000 May 16 16:32 PathOS.war drwxr-xr-x 3 root root 4096 May 16 16:22 Pipeline drwxr-xr-x 2 root root 4096 May 16 16:22 Report -rw-rw-r-- 1 affymetrix2 affymetrix2 35660570 May 16 16:38 tools.tgz affymetrix2@affymetrix2-PC:~/Desktop/NGS/PathOS/Dockish-PathOS/docker$ docker-compose up ERROR: In file './docker-compose.yml' service 'version' doesn't have any configuration options. All top level keys in your docker-compose.yml must map to a dictionary of configuration options.

kendoig commented 7 years ago

It seems your version of docker-compose doesn't support the "version:" command in docker-composer.yml. This works with our docker-compose version 1.11.2 and above Can you please tell us your version of docker-compose eg $ docker-compose --version

Also you could try commenting out the line: version: '3'

foxchase commented 7 years ago

$ docker-compose --version docker-compose version 1.5.2, build unknown after commenting out the line # version '3', I got another error below; affymetrix2@affymetrix2-PC:~/Desktop/NGS/PathOS/Dockish-PathOS/docker$ docker-compose build ERROR: yaml.parser.ParserError: expected '', but found '' in "./docker-compose.yml", line 96, column 1

kendoig commented 7 years ago

Hi foxchase, we're just setting up an image so we can reproduce this problem. We'll update you...