Git Product home page Git Product logo

dash-serverless's Introduction

Plotly - Dash app using AWS serverless

Overview:

This is a demo app for Dash.

We use 2 serveless framework plugins to help deploying it to API Gateway and Lambda

  • serverless-domain-manager
  • serverless-wsgi

serverless-wsgi

serveless-wsgi helps run Flask apps in Lambda

Just need to configure this part to run it

functions:
  app:
    handler: wsgi_handler.handler

and this to tell wsgi plugin where is the entrance

  wsgi:
    app: app.server
    pythonBin: python3
    packRequirements: false

serverless-domain-manager

When we created API Gateway, the path is like: https://bfsxw7f26j.execute-api.us-west-2.amazonaws.com/dev/{proxy+}

It's long and also contains the "stage" like the /dev part in the URL. It's making the app hard to use and if the app redirect to /, it will also break the app because it has to use /dev in the URL.

The solution is to use API Gateway's "Custom Domain Names".

The plug is to help creating the Custom Domain Names in API Gateway.

Steps:

  • Create a subdomain in Route53 like lab.ttan.cc
  • Create an ACM for certificates with "*.lab.ttan.cc", "*.ttan.cc" etc. Record this ACM's ARN
  • Put the domain name and ARN in serverless.yaml
  • run sls create_domain --stage dev --region us-west-2
  • run sls deploy --stage dev --region us-west-2

Test app locally using sls wsgi serve
Test app online using https://dash.lab.ttan.cc/dash

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.