Services#
The Marble software can be configured to provide a variety of services to the users of your node. Services are user-facing tools and the Birdhouse stack comes with several optional services that largely fall under the following categories:
serving and cataloging data hosted on your server
interactive development environment
remote processing tools
Enable an included service#
The Marble software comes with several services already included. The list of services already included can be found in the Birdhouse documentation. This documentation explains what each service is used for and how to enable and configure it.
You can pick and choose which services you would like to offer your users by enabling them via the env.local
file.
In general, the process to enable a service is a follows:
Take note of the directory that contains the service’s code. In general this will be one of the directories in the
birdhouse/components
folder.Edit the
EXTRA_CONF_DIRS
variable in theenv.local
file to include the service’s directory. This is a relative path from thebirdhouse/
directory or an absolute path. For example, to enable the Thredds service add the string./components/thredds
to theEXTRA_CONF_DIRS
variable.Add or update any additional variables in
env.local
as required by the specific service (see the Birdhouse documentation for customization options for each service).Restart the software by running:
./pavics-compose.sh down ./pavice-compose.sh up -d
in order for the changes to take effect.
Log in to Magpie as an admin user to set the access permissions for the new service
Note
Note that the STAC catalog service is always enabled by default.
Service customizations#
The Marble software also includes some useful service customizations. These are commonly used overrides that configure the default services in different ways. Details can be found in the Birdhouse documentation.
To enable any of these customizations, follow the same steps as enabling a service. Make sure that the
customization is added to the EXTRA_CONF_DIRS
variable after the service that it meant to customize. This is to
ensure that any changes to the settings in the customization are applied after the default settings.
Warning
Some of the service customizations described in Birdhouse documentation are meant for testing purposes only and are not meant to be deployed on a production server. Please read the description carefully before enabling any of these customizations.
Enable an external service#
You are not restricted to only using the services that are provided by the Birdhouse software. The Marble software is extendable, and we encourage you to create, share, and deploy custom services as needed for your specific use cases.
To enable an external service, first download or create the service files in a folder outside the birdhouse-deploy
repository. Then enable the service as described above with the following minor changes:
ensure that the path added to
EXTRA_CONF_DIRS
inenv.local
is an absolute path. Relative paths from thebirdhouse
directory will not work for external services.carefully read any additional documentation that comes with the external component to ensure that you take any additional configuration steps as well.