Skip to content
This repository has been archived by the owner on Jul 20, 2021. It is now read-only.

fairbanksio/tiles-api

Repository files navigation

Tiles API

Docker Cloud Automated build Docker Cloud Build Status GitHub top language Docker Pulls GitHub last commit

Backend API for Tiles; helps with creating/saving boards, authenticating users and managing chatrooms.

Getting Started

Prerequisites

The following will need to be installed before proceeding:

Clone the Project

# Clone it
git clone https://github.com/Fairbanks-io/tiles-api.git
cd tiles-api/

Install & Launch the Backend API

npm install
npm start

The Tiles API should now be serving requests at http://localhost:4001

Nginx

The following is an Nginx configuration block for both frontend and backend:

server {
    listen               443  ssl;
    ssl                  on;
    ssl_certificate fullchain.pem;
    ssl_certificate_key privkey.pem;
    server_name    tiles.mysite.io;
    large_client_header_buffers 4 8k;
    location / {
        proxy_pass      http://127.0.0.1:3000/;
        # Upgrade for Websockets
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
    location /socket.io/ {
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_http_version 1.1;
            proxy_set_header Host $host;
            proxy_pass http://127.0.0.1:4001/socket.io/;
    }
    location /tiles {
        proxy_pass      http://127.0.0.1:4001/tiles;
        # Upgrade for Websockets
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Docker

The Tiles API can also be launched via Docker using the following example:

docker run -d --name tiles-api -e MongoURI='mongodb://username:pass@host.io:27017/database' -p 4001:4001 -v "$PWD":/usr/src/app -w /usr/src/app node:8 "npm" "start"```