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:
docker-compose --env-file config/env.development up -d
You can access logs for one or more services:
pnpm services:logs image firebase
To stop the services:
pnpm services:stop
API | Docker Tag | URL | Description |
---|---|---|---|
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 |
auth | telescope_auth_svc | http://localhost/v1/auth | Provides authentication and authorization service |
users | telescope_users_svc | http://localhost/v1/users | Provides telescope's user services |
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 |
API | URL | Description |
---|---|---|
Traefik Dashboard | http://localhost:8080 | Traefik Dashboard |
Redis | redis://localhost:6379 | Redis server |
Elasticsearch | http://localhost:9200 | Elasticserach |
Firebase UI | http://localhost:4000 | UI Dashboard to Firebase Emulator |
Firebase Firestore | http://localhost:8088 | Firestore Emulator Service |
Login | http://localhost:8081/simplesaml | SAML SSO Identity Provider |