This repo has a docker-compose-based deployment example.
The only tools you need for a full deployment are docker and docker-compose. It is
recommended that you allow your user to run docker by adding it to the docker
group.
Get the transportation.geojson file representing the Seattle area. If you don't have
direct access to this file, you can build one yourself using the accessmap-data repo.
Place transportation.geojson in deploy/data
cd into the deploy directory and run
docker-compose -f docker-compose.build.yml up
and wait for all steps to complete
Run docker-compose up and visit localhost:2015 in a browser. To run in daemon mode,
use docker-compose up -d.
accessmap-walksheds is a React-based web application. For an optimal development
experience, it is often preferable to run the web app locally, for example so that you
can benefit from a faster dev cycle and get features like HMR.
The web app needs to be informed of where it can retrieve data by setting some environment variables:
REACT_APP_MAPBOX_TOKEN: A Mapbox API token.REACT_APP_TILESERVER: The root directory of an AccessMap tileserver.REACT_APP_ROUTESERVER: The root directory of an AccessMap routing server (unweaver).
These environment variables can be exported directly into your environment or set in
a .env file in the webapp directory (an example is available at .env.sample).
You can retrieve this by making an account at mapbox.com.
accessmap-walksheds displays pedestrian network information using custom-built
vector tiles and needs to be informed of their location. The easiest way to get access
to a reliable tileserver is to use the docker-compose deployment example above: the
tileserver will be available at http://localhost:2015/tiles, so you can set the
environment variable:
REACT_APP_TILESERVER=http://localhost:2015/tiles
accessmap-walksheds shows interactive walkshed information about the pedestrian
network under different pedestrian profiles. In order to do so, we need to get
walkshed data based on that network. In this implementation, that walkshed data is
created by the unweaver Python package, a flexible routing server.
The easiest way to get access to an unweaver routing server configured to work with
accessmap-walksheds is to use the docker-compose deployment described in the first
section, where the route server's root is http://localhost:2015/api/routing, so you
can set the environment variable:
REACT_APP_ROUTESERVER=http://localhost:2015/api/routing
Run npm ci to get the exact dependencies used during development, as determined by
the package-lock.json file.
Note: your system might need to have SQLite development headers installed, as
web mapping packages sometimes need them to compile.
Run npm run start. The server will be running at localhost:3000.
Run npm run build. This will create static assets in the build directory. To use
them, you need to run a web server that points at that directory. The simplest way is
to use Python:
python3 -m http.server
This will create a server at port 8000, so your website is available at
http://localhost:8000.
You could also use node to do this, but you'll have to install a package:
npm install -g node-static
static -p 8000