Telescope API Services
There are a number of docker-compose files available for running Telescope's services, including:
- docker/docker-compose.yml - the base docker-compose stack definition of our microservices, dependent services, and our api gateway, Traefik. This is meant to be used in development only.
- docker/development.yml - overrides and extensions to the base docker-compose stack, with extra settings and services necessary for running in development or CI.
- docker/production.yml - overrides and extensions to the base docker-compose stack, with extra settings and services necessary for running in staging and production.
In conjunction with these, there are also multiple environment files, including:
- config/env.development - environment variables for local development. This is likely what you need to adjust or pay attention to if you're developing Telescope.
- config/env.staging - environment variables for our staging server.
- config/env.production - environment variables for our production server.
The env files are configured to specify which variables and docker-compose files are needed to be run. For most developers, doing the following will work:
build any containers that need to be (re)built, and
pull any that aren't present on the local machine. It is functionally equivalent to running:
docker-compose --env-file config/env.development up -d
Telescope runs more than a dozen Docker containers, and it can be taxing on your computer to start them all. The
pnpm services:start command can optionally take a list of specific services to start, for example:
pnpm services:start feed-discovery status. The names of the services comes from the various
docker-compose.yml files listed above.
Managing the Services
If you want to update your local Docker images based on the most recent code built in our Continuous Integration builders, you can use:
You can access logs for one or more running services:
pnpm services:logs image status
To stop the services:
To delete old containers:
API Lookup Table
|feed-discovery||telescope_feed_discovery_svc||http://localhost/v1/feed-discovery||Provides an autodiscovery for feed URL.|
|posts||telescope_posts_svc||http://localhost/v1/posts||Provides access to cached user posts|
|image||telescope_img_svc||http://localhost/v1/image||Provides a dynamic image processing service|
|sso auth||telescope_sso_svc||http://localhost/v1/auth||Provides authentication and authorization service|
|parser||telescope_parser_svc||http://localhost/v1/parser||Provides telescope's parser services|
|search||telescope_search_svc||http://localhost/v1/search||Provides an ELK query controller service|
Support Services Lookup Table (development only)
|Traefik Dashboard||http://localhost:8080||Traefik Dashboard|
|Login||http://localhost:8081/simplesaml||SAML SSO Identity Provider|