Difference between revisions of "Orchestrating Telstar with Docker Compose"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
The following docker-compose yaml file can be used to manage the | The following docker-compose yaml file can be used to manage the Telstar application and associated *mongo* database. | ||
version: "3.8" | version: "3.8" | ||
Line 39: | Line 39: | ||
name: telstar-volume | name: telstar-volume | ||
The following docker-compose file starts three | The following docker-compose file starts three Telstar servers all talking to the same database server, however the third server (telstar-server-03) inmcludes an environment variable that ensures that it uses the *secondary* database. This *secondary* database collection is typically used to test content before publishing it to the primary database collection. Further details of all of vthe available environment variables can be found in the section [[Confuguration Options]]. In addition, the Telstar API is launced as a separate container. | ||
Revision as of 17:36, 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 server (telstar-server-03) inmcludes an environment variable that ensures that it uses the *secondary* database. This *secondary* database collection is typically used to test content before publishing it to the primary database collection. Further details of all of vthe available environment variables can be found in the section Confuguration Options. 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