-
-
Save hannes-thaller/9486fb03a1425398be3091f320d23a06 to your computer and use it in GitHub Desktop.
| version: "3.3" | |
| services: | |
| mongo: | |
| image: mongo:4.1.1 | |
| restart: on-failure | |
| command: --wiredTigerCacheSizeGB 3 | |
| ports: | |
| # Charts db is available under port 27018 to not block the default mongo port | |
| - "8082:8081" | |
| - "27018:27017" | |
| volumes: | |
| - ./data/db:/data/db | |
| charts: | |
| image: quay.io/mongodb/charts:v0.11.0 | |
| hostname: charts | |
| ports: | |
| # host:container port mapping. If you want MongoDB Charts to be | |
| # reachable on a different port on the docker host, change this | |
| # to <port>:80, e.g. 8888:80. | |
| - 80:80 | |
| - 443:443 | |
| volumes: | |
| - ./data/keys:/mongodb-charts/volumes/keys | |
| - ./data/logs:/mongodb-charts/volumes/logs | |
| - ./data/db-certs:/mongodb-charts/volumes/db-certs | |
| - ./data/web-certs:/mongodb-charts/volumes/web-certs | |
| environment: | |
| # The presence of following 2 environment variables will enable HTTPS on Charts server. | |
| # All HTTP requests will be redirected to HTTPS as well. | |
| # To enable HTTPS, upload your certificate and key file to the web-certs volume, | |
| # uncomment the following lines and replace with the names of your certificate and key file. | |
| # CHARTS_HTTPS_CERTIFICATE_FILE: charts-https.crt | |
| # CHARTS_HTTPS_CERTIFICATE_KEY_FILE: charts-https.key | |
| # This environment variable controls the built-in support widget and | |
| # metrics collection in MongoDB Charts. To disable both, set the value | |
| # to "off". The default is "on". | |
| CHARTS_SUPPORT_WIDGET_AND_METRICS: "on" | |
| # Directory where you can upload SSL certificates (.pem format) which | |
| # should be considered trusted self-signed or root certificates when | |
| # Charts is accessing MongoDB servers with ?ssl=true | |
| SSL_CERT_DIR: /mongodb-charts/volumes/db-certs | |
| CHARTS_MONGODB_URI: mongodb://172.17.0.1:27018 | |
| networks: | |
| - backend | |
| networks: | |
| backend: | |
| volumes: | |
| keys: | |
| logs: | |
| db-certs: | |
| web-certs: |
It seems like MongoDB Charts isn't able to handle internal routing if it is exposed to ports other than 80 or 443.
Sorry, the gist was only a reminder and is based on the documentation (i think), but Mongo Charts was not up for task, so I haven't used it.
Do not think that I encountered this error thou.
if i expose docker in ngnix behind /mongochart it is failing to load javascript and css
How "hostname" property should be used? i was guessing it would set the server uri on javascript connections to backend of MongoDB Charts, but when i try to login it shows an error:
(TRANSPORT_ERROR): the request transport encountered an error communicating with Stitch: Network request failed
I am deploying the docker on an ubuntu server behind nginx with https, proxy passing to 8080 port which was already binded on docker-compose file to port 80 of container.
version: "3.3"
services:
mongo:
image: mongo:4.1.1
container_name: mongotest
restart: on-failure
command: --wiredTigerCacheSizeGB 3
ports:
- "8082:8081"
- "27017:27017"
volumes:
- ./data/db:/data/db
charts:
image: quay.io/mongodb/charts:v0.11.0
hostname: charts
ports:
- 80:80
volumes:
- ./data/keys:/mongodb-charts/volumes/keys
- ./data/logs:/mongodb-charts/volumes/logs
- ./data/db-certs:/mongodb-charts/volumes/db-certs
- ./data/web-certs:/mongodb-charts/volumes/web-certs
environment:
CHARTS_SUPPORT_WIDGET_AND_METRICS: "on"
SSL_CERT_DIR: /mongodb-charts/volumes/db-certs
CHARTS_MONGODB_URI: mongodb://mongotest:27017
volumes:
keys:
logs:
db-certs:
web-certs:
thanks for this.
But I am not able to login after creating user in mongodb charts container using 'charts-cli'.
It throws
(TRANSPORT_ERROR): the request transport encountered an error communicating with Stitch: Network request failedAny idea how to resolve this?