Difference between revisions of "Orchestrating Telstar with Docker Compose"
Jump to navigation
Jump to search
| Line 40: | Line 40: | ||
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. | 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" | version: "3.8" | ||
| Line 60: | Line 61: | ||
- mongodb | - mongodb | ||
environment: | environment: | ||
- | - TELSTAR_SERVER_DISPLAY_NAME=AUSTEN | ||
telstar-02: | telstar-02: | ||
container_name: "telstar-server-02" | container_name: "telstar-server-02" | ||
| Line 77: | Line 78: | ||
- mongodb | - mongodb | ||
environment: | environment: | ||
- | - TELSTAR_SERVER_DISPLAY_NAME=ELIOT | ||
telstar-03: | telstar-03: | ||
container_name: "telstar-server-03" | container_name: "telstar-server-03" | ||
| Line 94: | Line 95: | ||
- mongodb | - mongodb | ||
environment: | environment: | ||
- | - TELSTAR_SERVER_DISPLAY_NAME=HARDY | ||
- TELSTAR_DBCOLLECTION=SECONDARY | - TELSTAR_DBCOLLECTION=SECONDARY | ||
telstar-api: | telstar-api: | ||
Revision as of 17:32, 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_DISPLAY_NAME=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_DISPLAY_NAME=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_DISPLAY_NAME=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