Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #5

Merged
merged 5 commits into from
Apr 2, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Files to exclude during docker build
azuredeploy.json.template
Empty file added .gitignore
Empty file.
14 changes: 7 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
# Dockerfile for Beacon
FROM python:2.7.14
FROM python:2.7.16-stretch
#=====================#
# Setup Prerequisites #
#=====================#
RUN apt-get update && apt-get install -y \
apache2 \
git \
vim \
apache2 \
git \
vim \
&& a2enmod cgi \
&& service apache2 restart \
&& rm -rf /var/lib/apt/lists/*
#===============================#
# Docker Image Configuration #
#===============================#
LABEL Description='Beacon' \
Vendor='Englander Institute for Precision Medicine' \
maintainer='als2076@med.cornell.edu'
Vendor='Englander Institute for Precision Medicine' \
maintainer='als2076@med.cornell.edu'
#=====================#
# Install Beacon #
#=====================#
Expand All @@ -35,4 +35,4 @@ COPY app ${BEACON_DIR}
#=====================#
# Beacon Startup #
#=====================#
CMD /usr/sbin/apache2ctl -D FOREGROUND
CMD /usr/sbin/apache2ctl -D FOREGROUND
26 changes: 13 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Beacon

[![Docker Automated build](https://img.shields.io/docker/automated/jrottenberg/ffmpeg.svg)](https://hub.docker.com/r/eipm/beacon/) [![Docker Pulls](https://img.shields.io/docker/pulls/eipm/beacon.svg)](https://hub.docker.com/r/elementolab/beacon/) [![Docker Stars](https://img.shields.io/docker/stars/eipm/beacon.svg)](https://hub.docker.com/r/eipm/beacon/)
[![Docker Automated build](https://img.shields.io/docker/automated/jrottenberg/ffmpeg.svg)](https://hub.docker.com/r/eipm/beacon/) [![Docker Pulls](https://img.shields.io/docker/pulls/eipm/beacon.svg)](https://hub.docker.com/r/eipm/beacon/) [![Docker Stars](https://img.shields.io/docker/stars/eipm/beacon.svg)](https://hub.docker.com/r/eipm/beacon/)
[![Maintainability](https://api.codeclimate.com/v1/badges/b3607af6a3051d8df2eb/maintainability)](https://codeclimate.com/github/eipm/beacon/maintainability)
[![Deploy to Azure](http://azuredeploy.net/deploybutton.png)](https://azuredeploy.net/)

Expand All @@ -13,26 +13,26 @@

This project is an open source dockerized automated build implementation of the GA4GH Beacon, enabling researchers to light their own beacon with a single command line.

[Github Project](https://github.com/eipm/beacon)
[Docker Automated Build](https://hub.docker.com/r/eipm/beacon/)
- [Github Project](https://github.com/eipm/beacon)
- [Docker Automated Build](https://hub.docker.com/r/eipm/beacon/)

## About Beacon

The Beacon Project is a simple, open web service that balances the desire of international sites to share genomic data with the need for data protection. Beacons can be implemented by any institution and enable users to determine whether a database contains a genetic variant of interest. Queries such as, "Do you have any genomes with an 'A' at position 100,735 on chromosome 3" (or similar data) are met with either "Yes" or "No.” The Beacon Network — the collection of all organizations that have “lit" beacons — can be queried using the Beacon API or a web-based search engine to determine which, if any, sites have a variant of interest.

### Beacon Resources

[Beacon Project Home Page](http://ga4gh.org/#/beacon)
[Beacon on Github](https://github.com/maximilianh/ucscBeacon)
- [Beacon Project Home Page](http://ga4gh.org/#/beacon)
- [Beacon on Github](https://github.com/maximilianh/ucscBeacon)

## About Docker

Docker is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of operating-system-level virtualization on Linux. Docker uses the resource isolation features of the Linux kernel such as cgroups and kernel namespaces, and a union-capable filesystem such as aufs and others to allow independent "containers" to run within a single Linux instance, avoiding the overhead of starting and maintaining virtual machines.

### Docker Resources

[Docker Home Page](https://www.docker.com)
[Docker Run Reference](https://docs.docker.com/engine/reference/run/)
- [Docker Home Page](https://www.docker.com)
- [Docker Run Reference](https://docs.docker.com/engine/reference/run/)

## Launch a test Beacon

Expand All @@ -41,7 +41,7 @@ Docker is an open-source project that automates the deployment of applications i

```bash
docker run -d --name "beacon" \
--restart=always \
--restart on-failure:5 \
-p 8080:80 \
eipm/beacon
```
Expand All @@ -50,30 +50,30 @@ eipm/beacon

## Creating your own configuration file

Create your own beacon.conf file using [this template](https://github.com/ElementoLab/beacon/blob/master/config/beacon.conf).
Create your own beacon.conf file using [this template](https://github.com/eipm/beacon/blob/master/config/beacon.conf).

## Adding your own data and configuration file

### 1. Run a beacon with your own SQLite DB and configuration file.
### 1. Run a beacon with your own SQLite DB and configuration file

```bash
docker run -d --name "beacon" \
--restart=always \
--restart on-failure:5 \
-p 8080:80 \
-v my/database/path/beaconData.GRCh37.sqlite:/var/www/html/beacon/ucscBeacon/beaconData.GRCh37.sqlite \
-v /my/beacon/conf/beacon.conf:/var/www/html/beacon/beacon.conf \
eipm/beacon
```

### 2. Run a beacon in interactive mode and import your own data and configuration file.
### 2. Run a beacon in interactive mode and import your own data and configuration file

#### A. Launch Beacon with your data

```bash
docker run -it --name beacon \
-v my/data/:/data \
-v /my/beacon/conf/beacon.conf:/var/www/html/beacon/beacon.conf \
-p 8080:80 elementolab/beacon /bin/bash
-p 8080:80 eipm/beacon /bin/bash
```

#### B. Run the import dataset command for dataset 'ipm'
Expand Down