-
-
Save Wavefarer42/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: |
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 failed
Any idea how to resolve this?
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:
Quick local test docker-compose configuration of mongo db charts.