Giter VIP home page Giter VIP logo

gosling-higlass-https-server-setup's Introduction

gosling-higlass-https-server-setup

This repository describes a way to setup a HTTPS HiGlass server using a free Let's Encrypt service. This allows to fetch tiles from a HiGlass server (e.g., https://server.gosling-lang.org) in HTTPS clients (e.g., https://gosling.js.org). Because of the security issue, you cannot fetch tiles if the server is not HTTPS server but the client is HTTPS.

ssh to the server

ssh -i gosling.pem [email protected]

Setup

Reference: https://medium.com/@pentacent/nginx-and-lets-encrypt-with-docker-in-less-than-5-minutes-b4b8a60d3a71

Place a nginx config file to a certain directory:

$ mv hgserver_nginx.conf webcontext/sites-enabled/hgserver_nginx.conf
$ ls
init-letsencrypt.sh     docker-compose.yml      web-context

Run init-letsencrypt.sh

This will run certbot which will validate your site and give certificates for HTTPS.

./init-letsencrypt.sh

If you recived a "success" message, you are all set!

Let's start the server

sudo docker-compose up

Adding Tilesets

Reference: https://github.com/higlass/higlass-docker

Download a tileset data to add

$ sudo wget -P /data/hg-tmp/ http://YOUR_LINK.COM

Confirm that a tileset is visible in Docker

$ sudo docker exec higlass-container ls /tmp

Cistrome.H3K27ac.ChIP-seq.multires.mv5
...

Ingest a tileset:

$ sudo docker exec higlass-container python higlass-server/manage.py ingest_tileset \
      --filename /tmp/Cistrome.H3K27ac.ChIP-seq.multires.mv5 \
      --filetype multivec \
      --datatype multivec \
      --project-name "gosling-data-v1" \
      --uid cistrome-multivec \
      --coordSystem hg38
      
$ sudo docker exec higlass-container python higlass-server/manage.py ingest_tileset \
      --filename /tmp/hg38.chrom.sizes \
      --filetype chromsizes-tsv \
      --datatype chromsizes \
      --coordSystem hg38 \
      --uid hg38
      
$ sudo docker exec higlass-container python higlass-server/manage.py ingest_tileset \
      --filename /tmp/Leung2015_Aorta.hg38.mapq_30.1000.mcool \
      --uid leung2015-hg38 \
      --filetype cooler \
      --datatype matrix

$ sudo docker exec higlass-container python higlass-server/manage.py ingest_tileset \
      --filename /tmp/Olig2.5k_interactions_ucsc_genome_browser.inter.bb \
      --filetype bigbed \
      --datatype bedlike \
      --uid oligodendrocyte-plac-seq-bedpe 

$ sudo docker exec higlass-container python higlass-server/manage.py ingest_tileset \
    --filename /tmp/gwas.bed.beddb \
    --filetype beddb \
    --datatype bedlike \
    --uid gwas-beddb
    
$ sudo docker exec higlass-container python higlass-server/manage.py ingest_tileset \
    --filename /tmp/gene-mm10.beddb \
    --filetype beddb \
    --datatype gene-annotation \
    --uid gene-annotation-mm10 \
    --coordSystem mm10

Restart Docker

sudo docker-compose down && sudo docker-compose pull && sudo docker-compose up

To Show Docs

docker exec -i higlass-container sed -i 's/HGAC_HOMEPAGE_DEMOS=false/HGAC_HOMEPAGE_DEMOS=true/' higlass-app/config.js

gosling-higlass-https-server-setup's People

Contributors

sehilyi avatar

Watchers

 avatar

gosling-higlass-https-server-setup's Issues

nginx ReverseProxy/Subpath possible?

How can you run the hiGlass server on a subpath, e.g. https://<own_url>/higlass/
There is an option "SITE_URL" and APP_BASEPATH", but they have no effect..
Background: I want to access higlass via an nginx reverse proxy.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.