Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

terriajs-server

Package Overview
Dependencies
Maintainers
4
Versions
61
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

terriajs-server

NodeJS server for TerriaJS, consisting of a CORS proxy, proj4 CRS lookup service, and express static server.

  • 4.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
164
decreased by-4.65%
Maintainers
4
Weekly downloads
 
Created
Source

TerriaJS-Server

Greenkeeper badge

Build Status


We have just released a brand new version of Terria — verson 8!

We've put together a list of things we've removed from version 8 and some steps to help you migrate to the new version in our migration guide

Not ready to move to version 8 yet? You can find terriajs version 7 here: https://github.com/TerriaJS/terriajs/tree/terriajs7


This is a basic NodeJS Express server that serves up a (not included) static TerriaJS-based site (such as National Map) with a few additional useful services:

  • /api/v1/proxy: a proxy service which applies CORS headers for data providers that lack them. Add URLs to config.json to enable them.
  • /api/v1/proj4def: a proj4 coordinate reference system lookup service.
  • /api/v1/proxyabledomains: return a JSON of domains the server is willing to proxy for
  • /api/v1/ping: returns 200 OK.
  • /api/v1/share/X-Y (GET): uses prefix X to resolve key Y against some configured JSON storage provider (Gist and AWS S3 implemented)
  • /api/v1/share (POST): stores a piece of JSON with a configured storage provider (Gist implemented)
  • /api/v1/serverconfig: retrieve (safe) information about how the server is configured.
  • All other requests are served from the wwwroot directory you provide on the command line, which defaults to ./wwwroot
  • If files [wwwroot]/404.html and/or [wwwroot]/500.html exist, they will be served for those HTTP error codes.
  • Supports very simple authentication via a single username/password included in requests using HTTP basic authentication.
  • Proxied services that require HTTP authentication can be proxied by adding credentials to a proxyauth.json file.
  • It can be run in HTTPS mode, although there are better ways of doing that in production.

Generally, you don't want to manually install TerriaJS-Server. It comes installed with TerriaMap (see below).

Stand-alone installation (without serving TerriaMap)

Install
  1. git clone https://github.com/terriajs/terriajs-server
  2. cd terriajs-server
  3. npm install
Configure

Copy serverconfig.json.example to serverconfig.json and configure as needed. See comments inside that file. (Comments are allowed; see json5.org).

If you want to proxy authenticated layers, do the same for proxyauth.json.example.

Run
  1. npm start -- [options] [path/to/wwwroot]
terriajs-server.js [options] [path/to/wwwroot]

Options:
  --help, -h     Show this help.                                       [boolean]
  --version      Show version number                                   [boolean]
  --port         Port to listen on.                [default: 3001]      [number]
  --public       Run a public server that listens on all interfaces.
                                                       [boolean] [default: true]
  --config-file  File containing settings such as allowed domains to proxy. See
                 serverconfig.json.example
  --proxy-auth   File containing auth information for proxied domains. See
                 proxyauth.json.example
  --verbose      Produce more output and logging.     [boolean] [default: false]

For example, to run with port 3009:

npm start -- --port 3009

To run the server in the foreground, you can do this:

node . [arguments as above]

Tests
  1. Run npm test

Installation with TerriaMap

Just install TerriaMap. TerriaJS-Server is installed to node_modules/terriajs-server, and you can run it manually as node_modules/terriajs-server ./wwwroot.

Keywords

FAQs

Package last updated on 24 May 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc