Difference between revisions of "Orchestrating Telstar with Docker Compose"
Jump to navigation
Jump to search
(Created page with "# Using Docker Compose __*** Please note TELSTAR as an application is still under development and subject to change. ***__ The following docker-compose yaml file can be used to manage the TELSTAR application and associated *mongo* database. version: "3.8" services: telstar-01: container_name: "telstar-server" image: "johnnewcombe/telstar" command: "server --port 6512 --install" # install to the primary database ports:...") |
|||
| Line 1: | Line 1: | ||
The following docker-compose yaml file can be used to manage the TELSTAR application and associated *mongo* database. | The following docker-compose yaml file can be used to manage the TELSTAR application and associated *mongo* database. | ||
Revision as of 17:26, 5 April 2022
The following docker-compose yaml file can be used to manage the TELSTAR application and associated *mongo* database.
version: "3.8"
services:
telstar-01:
container_name: "telstar-server"
image: "johnnewcombe/telstar"
command: "server --port 6512 --install" # install to the primary database
ports:
- target: 6512
published: 6512
networks:
- telstar-network
volumes:
- type: volume
source: telstar-volume
target: /opt/telstar/volume
depends_on:
- mongodb
environment:
- TELSTAR_SERVER=AUSTEN
mongodb:
container_name: "telstar-mongo"
image: "mongo"
ports:
- target: 27017
published: 27017
networks:
telstar-network:
environment:
- MONGO_INITDB_ROOT_USERNAME=mongoadmin
- MONGO_INITDB_ROOT_PASSWORD=secret
networks:
telstar-network:
name: telstar-network
volumes:
telstar-volume:
name: telstar-volume
The following docker-compose file starts three TELSTAR servers all talking to the same database server, however the third TELSTAR server (telstar-server-03) uses the *secondary* database. This *secondary* database collection is typically used to test content before publishing it to the primary database collection. In addition the TELSTAR API is launced as a separate container.
version: "3.8"
services:
telstar-01:
container_name: "telstar-server-01"
build: .
image: "johnnewcombe/telstar"
command: "server --port 6512 --install" # install to the primary database
ports:
- target: 6512
published: 6512
networks:
- telstar-network
volumes:
- type: volume
source: telstar-volume
target: /opt/telstar/volume
depends_on:
- mongodb
environment:
- TELSTAR_SERVER=AUSTEN
telstar-02:
container_name: "telstar-server-02"
image: "johnnewcombe/telstar"
command: "server --port 6513"
ports:
- target: 6513
published: 6513
networks:
- telstar-network
volumes:
- type: volume
source: telstar-volume
target: /opt/telstar/volume
depends_on:
- mongodb
environment:
- TELSTAR_SERVER=ELIOT
telstar-03:
container_name: "telstar-server-03"
image: "johnnewcombe/telstar"
command: "server --port 6514 --install" # install to the secondary database
ports:
- target: 6514
published: 6514
networks:
- telstar-network
volumes:
- type: volume
source: telstar-volume
target: /opt/telstar/volume
depends_on:
- mongodb
environment:
- TELSTAR_SERVER=HARDY
- TELSTAR_DBCOLLECTION=SECONDARY
telstar-api:
container_name: "telstar-api"
image: "johnnewcombe/telstar"
command: "api --port 8001 --init"
ports:
- target: 8001
published: 8001
networks:
- telstar-network
depends_on:
- mongodb
environment:
- TELSTAR_API_USERID=0 # User 0 has access to all pages
- TELSTAR_API_PASSWORD=telstarapisecret
- TELSTAR_COOKIE_SECRET=<place yout secret here> # define this for yourself and keep it secret!
mongodb:
container_name: "telstar-mongo"
image: "mongo"
ports:
- target: 27017
published: 27017
networks:
telstar-network:
environment:
- MONGO_INITDB_ROOT_USERNAME=mongoadmin
- MONGO_INITDB_ROOT_PASSWORD=secret
networks:
telstar-network:
name: telstar-network
volumes:
telstar-volume:
name: telstar-volume