Wondering what’s next for npm?Check out our public roadmap! »

    @heise/embetty-server

    2.0.3 • Public • Published

    embetty-server · Build Status Greenkeeper badge Dependency Status JavaScript Style Guide

    Embetty

    Embetty displays remote content like tweets or YouTube videos without compromising your privacy. embetty-server acts as a proxy and provides the necessary data.

    Embetty server can be run in two different ways:

    It's necessary to configure a reverse proxy to make Embetty server reachable either way.

    Running Embetty server with Docker

    The docker image exposes the server on port 8080 and can be configured using environment variables.

    $ docker run \
      -p 8080:8080 \
      --name embetty \
      --rm \
      -e VALID_ORIGINS=https://example.com \
      -e TWITTER_ACCESS_TOKEN_KEY=... \
      -e TWITTER_ACCESS_TOKEN_SECRET=... \
      -e TWITTER_CONSUMER_KEY=... \
      -e TWITTER_CONSUMER_SECRET=... \
      heiseonline/embetty-server:latest

    Running Embetty server with a process manager

    This requires Node.js version 8 or later.

    1. Install Embetty server by running yarn global add @heise/embetty-server. This makes the embetty command available on the server.
    2. Setup a process manager like Forever, PM2 or StrongLoop Process Manager.
    3. Configure the Process manager to run embetty start. The command embetty start --help prints a list of all supported options.

    Configuration

    Embetty server can be configured using the following environment variables:

    Variable Required Description
    URL_BASE no The base URL of the Embetty server instance, e.g. https://my-server.com/path/to/embetty.
    DEBUG no This variable controls the output of log messages. You may set it to embetty.* to log all Embetty messages to STDOUT.
    EMBETTY_CACHE no Connection string of a cache adapter. Currently Redis (example: redis://) and LRU (example: lru://) are supported.
    PORT no This variable can be used to specify the port on which Embetty Server listens. Default: 3000
    TWITTER_ACCESS_TOKEN_KEY [1] Twitter Access Token
    TWITTER_ACCESS_TOKEN_SECRET [1] Twitter Access Token Secret
    TWITTER_CONSUMER_KEY [1] Twitter consumer Key (API Key)
    TWITTER_CONSUMER_SECRET [1] Twitter consumer Secret (API Secret)
    VALID_ORIGINS yes Contains a comma-separated list of allowed origins. Examples: https://example.com, https://a.example.com,https://b.example.com or *.

    Twitter

    To display tweets with Embetty, the Twitter environment variables listed above need to be defined. Both tokens, the key and the secret can be obtained by creating a Twitter app.

    Testing the server setup

    The setup can be tested by sending a request to the running server. If everything was set up correctly, JSON data and the HTTP status code 200 are returned.

    $ curl -i http://localhost:8080/version
    $ curl -i http://localhost:8080/tweet/985882036777955328
    $ curl -i http://localhost:8080/video/youtube/m6UOo2YGbIE-poster-image

    Using Embetty with Google AMP ⚡️

    Embetty server supports Google AMP ⚡️ out of the box via <amp-iframe>:

    Tweet:

    <amp-iframe width="200" height="100"
      sandbox="allow-scripts allow-same-origin"
      layout="responsive"
      resizable
      frameborder="0"
      src="https://your-site.com/path/to/embetty-server/tweet/1004988454978179072.amp"
    >
      <div overflow tabindex=0 role=button aria-label=""></div>
    </amp-iframe>

    Vimeo:

    <amp-iframe width="200" height="100"
      sandbox="allow-scripts allow-same-origin"
      layout="responsive"
      resizable
      frameborder="0"
      src="https://your-site.com/path/to/embetty-server/video/vimeo/1084537.amp"
    >
      <div overflow tabindex=0 role=button aria-label=""></div>
    </amp-iframe>

    YouTube:

    <amp-iframe width="200" height="100"
      sandbox="allow-scripts allow-same-origin"
      layout="responsive"
      resizable
      frameborder="0"
      src="https://your-site.com/path/to/embetty-server/video/youtube/m6UOo2YGbIE.amp"
    >
      <div overflow tabindex=0 role=button aria-label=""></div>
    </amp-iframe>

    Facebook:

    <amp-iframe width="200" height="100"
      sandbox="allow-scripts allow-same-origin"
      layout="responsive"
      resizable
      frameborder="0"
      src="https://your-site.com/path/to/embetty-server/video/facebook/10156049485672318.amp"
    >
      <div overflow tabindex=0 role=button aria-label=""></div>
    </amp-iframe>

    Contributing to Embetty

    See Contributing.

    License

    Embetty server is MIT licensed.

    Keywords

    none

    Install

    npm i @heise/embetty-server

    DownloadsWeekly Downloads

    46

    Version

    2.0.3

    License

    MIT

    Unpacked Size

    3.04 MB

    Total Files

    53

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar