docker-compose.yaml 1.6 KB

1234567891011121314151617181920212223242526272829303132
  1. {% set tpl = ix_lib.base.render.Render(values) %}
  2. {% set glances_container = tpl.add_container(values.consts.glances_container_name, "image") %}
  3. {% do glances_container.set_tty(true) %}
  4. {% do glances_container.set_stdin(true) %}
  5. {% do glances_container.add_caps(["FOWNER", "DAC_OVERRIDE", "SETGID", "SETUID", "SYS_PTRACE"]) %}
  6. {% do glances_container.remove_security_opt("no-new-privileges") %}
  7. {% do glances_container.add_security_opt("apparmor", "unconfined") %}
  8. {% do glances_container.healthcheck.set_test("curl", {"port": values.network.web_port.port_number, "path": "/api/4/status"}) %}
  9. {% do glances_container.environment.add_env("GLANCES_OPT", "--webserver --port %d"|format(values.network.web_port.port_number)) %}
  10. {% do glances_container.environment.add_user_envs(values.glances.additional_envs) %}
  11. {% do glances_container.add_port(values.network.web_port) %}
  12. {% if values.glances.docker_enable %}
  13. {% do glances_container.add_docker_socket(read_only=True) %}
  14. {% endif %}
  15. {% do glances_container.add_storage("/host/etc/os-release", {"type": "host_path", "read_only": true, "host_path_config": {"path": "/etc/os-release"}}) %}
  16. {% do glances_container.add_storage("/host/sys", {"type": "host_path", "read_only": true, "host_path_config": {"path": "/sys"}}) %}
  17. {% do glances_container.add_storage("/host/proc", {"type": "host_path", "read_only": true, "host_path_config": {"path": "/proc"}}) %}
  18. {% for store in values.storage.additional_storage %}
  19. {% do glances_container.add_storage(store.mount_path, store) %}
  20. {% endfor %}
  21. {% do tpl.portals.add(values.network.web_port) %}
  22. {{ tpl.render() | tojson }}