docker-compose.yaml 1.6 KB

1234567891011121314151617181920212223242526272829303132
  1. {% set tpl = ix_lib.base.render.Render(values) %}
  2. {% set c1 = tpl.add_container(values.consts.handbrake_container_name, "image") %}
  3. {% do c1.add_caps(["CHOWN", "DAC_OVERRIDE", "FOWNER", "SETUID", "SETGID", "NET_BIND_SERVICE", "KILL"]) %}
  4. {% do c1.healthcheck.set_test("netcat", {"port": values.network.vnc_port.port_number}) %}
  5. {% do c1.environment.add_env("HANDBRAKE_GUI", 1) %}
  6. {% do c1.environment.add_env("DARK_MODE", 1 if values.handbrake.dark_mode else 0) %}
  7. {% do c1.environment.add_env("SECURE_CONNECTION", 1 if values.handbrake.secure_connection else 0) %}
  8. {% do c1.environment.add_env("WEB_LISTENING_PORT", values.network.web_port.port_number) %}
  9. {% do c1.environment.add_env("VNC_LISTENING_PORT", values.network.vnc_port.port_number) %}
  10. {% do c1.environment.add_env("VNC_PASSWORD", values.handbrake.vnc_password) %}
  11. {% do c1.environment.add_env("AUTOMATED_CONVERSION_OUTPUT_DIR", values.consts.output_path) %}
  12. {% do c1.environment.add_user_envs(values.handbrake.additional_envs) %}
  13. {% do c1.add_storage("/config", values.storage.config) %}
  14. {% do c1.add_storage("/storage", values.storage.storage) %}
  15. {% do c1.add_storage("/watch", values.storage.watch) %}
  16. {% do c1.add_storage(values.consts.output_path, values.storage.output) %}
  17. {% do c1.add_storage("/tmp", {"type": "anonymous"})%}
  18. {% do c1.add_storage("/var/run", {"type": "anonymous"})%}
  19. {% for store in values.storage.additional_storage %}
  20. {% do c1.add_storage(store.mount_path, store) %}
  21. {% endfor %}
  22. {% do c1.add_port(values.network.web_port) %}
  23. {% do tpl.portals.add(values.network.web_port) %}
  24. {{ tpl.render() | tojson }}