mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-11-04 04:08:15 +00:00 
			
		
		
		
	- Added Chromium headless flags and writable font cache/tmp volumes - Enabled WebSocket proxy forwarding for /whiteboard/ - Verified and adjusted CSP and frontend integration - Added Whiteboard-related variables and volumes in main.yml See ChatGPT conversation (20 Oct 2025): https://chatgpt.com/share/68f655e1-fa3c-800f-b35f-4f875dfed4fd
		
			
				
	
	
		
			115 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
{% include 'roles/docker-compose/templates/base.yml.j2' %}
 | 
						|
 | 
						|
{% set service_name = NEXTCLOUD_PROXY_SERVICE %}
 | 
						|
  {{ service_name }}:
 | 
						|
    image: "{{ NEXTCLOUD_PROXY_IMAGE }}:{{ NEXTCLOUD_PROXY_VERSION }}"
 | 
						|
    container_name: "{{ NEXTCLOUD_PROXY_CONTAINER }}"
 | 
						|
    logging:
 | 
						|
      driver: journald
 | 
						|
    restart: {{ DOCKER_RESTART_POLICY }}
 | 
						|
    ports:
 | 
						|
      - "127.0.0.1:{{ NEXTCLOUD_PORT }}:{{ container_port }}"
 | 
						|
    volumes:
 | 
						|
      - "{{ NEXTCLOUD_HOST_NGINX_SRC }}:/etc/nginx/nginx.conf:ro"
 | 
						|
    volumes_from:
 | 
						|
      - {{ NEXTCLOUD_SERVICE }}
 | 
						|
{% include 'roles/docker-container/templates/healthcheck/curl.yml.j2'  %}
 | 
						|
    networks:
 | 
						|
      default:
 | 
						|
        ipv4_address: 192.168.102.67
 | 
						|
{% if NEXTCLOUD_HPB_NETWORK_MODE == 'host' %}
 | 
						|
    extra_hosts:
 | 
						|
      - "host.docker.internal:host-gateway"
 | 
						|
{% endif %}
 | 
						|
 | 
						|
{% set service_name = NEXTCLOUD_SERVICE %}
 | 
						|
  {{ service_name }}:
 | 
						|
    image: "{{ NEXTCLOUD_IMAGE }}:{{ NEXTCLOUD_VERSION }}"
 | 
						|
    container_name: {{ NEXTCLOUD_CONTAINER }}
 | 
						|
    volumes:
 | 
						|
      - data:{{ NEXTCLOUD_DOCKER_WORK_DIRECTORY }}
 | 
						|
      - {{ NEXTCLOUD_HOST_CONF_ADD_PATH }}:{{ NEXTCLOUD_DOCKER_CONF_ADD_PATH }}:ro
 | 
						|
    healthcheck:
 | 
						|
      test: ["CMD", "su", "www-data", "-s", "/bin/sh", "-c", "php {{ NEXTCLOUD_INTERNAL_OCC_COMMAND }} status"]
 | 
						|
      interval: 1m
 | 
						|
      timeout: 10s
 | 
						|
      retries: 3
 | 
						|
{% include 'roles/docker-container/templates/base.yml.j2' %}
 | 
						|
{% include 'roles/docker-container/templates/depends_on/dmbs_excl.yml.j2' %}
 | 
						|
{% include 'roles/docker-container/templates/networks.yml.j2' %}
 | 
						|
        ipv4_address: 192.168.102.69
 | 
						|
 | 
						|
{% if NEXTCLOUD_HPB_SIGNALING_ENABLED | bool %}
 | 
						|
{% set service_name = NEXTCLOUD_HPB_SERVICE %}
 | 
						|
  {{ service_name }}:
 | 
						|
{% set container_port = NEXTCLOUD_HPB_SIGNALING_PORT %}
 | 
						|
{% include 'roles/docker-container/templates/base.yml.j2' %}
 | 
						|
{% include 'roles/docker-container/templates/healthcheck/tcp.yml.j2' %}
 | 
						|
    image: "{{ NEXTCLOUD_HPB_IMAGE }}:{{ NEXTCLOUD_HPB_VERSION }}"
 | 
						|
    container_name: {{ NEXTCLOUD_HPB_CONTAINER }}
 | 
						|
    init: true
 | 
						|
{% if NEXTCLOUD_HPB_NETWORK_MODE == 'bridge' and NEXTCLOUD_HPB_TURN_ONBOARD_ENABLED | bool %}
 | 
						|
    ports:
 | 
						|
      - {{ networks.internet.ip4 }}:{{ NEXTCLOUD_HPB_TURN_ONBOARD_PORT }}:{{ NEXTCLOUD_HPB_TURN_ONBOARD_PORT }}/tcp
 | 
						|
      - {{ networks.internet.ip4 }}:{{ NEXTCLOUD_HPB_TURN_ONBOARD_PORT }}:{{ NEXTCLOUD_HPB_TURN_ONBOARD_PORT }}/udp
 | 
						|
    expose:
 | 
						|
      - "{{ container_port }}"
 | 
						|
    networks:
 | 
						|
      default:
 | 
						|
        ipv4_address: 192.168.102.68
 | 
						|
{% else %}
 | 
						|
  network_mode: {{ NEXTCLOUD_HPB_NETWORK_MODE }}
 | 
						|
{% endif %}
 | 
						|
{% endif %}
 | 
						|
 | 
						|
{% if NEXTCLOUD_WHITEBOARD_ENABLED %}
 | 
						|
{% set service_name = NEXTCLOUD_WHITEBOARD_SERVICE %}
 | 
						|
  {{ service_name }}:
 | 
						|
{% set container_port = NEXTCLOUD_WHITEBOARD_PORT_INTERNAL %}
 | 
						|
{% include 'roles/docker-container/templates/base.yml.j2' %}
 | 
						|
{% include 'roles/docker-container/templates/healthcheck/nc.yml.j2' %}
 | 
						|
    image: "{{ NEXTCLOUD_WHITEBOARD_IMAGE }}:{{ NEXTCLOUD_WHITEBOARD_VERSION }}"
 | 
						|
    container_name: {{ NEXTCLOUD_WHITEBOARD_CONTAINER }}
 | 
						|
    volumes:
 | 
						|
      - whiteboard_tmp:/tmp
 | 
						|
      - whiteboard_fontcache:/var/cache/fontconfig
 | 
						|
 | 
						|
    expose:
 | 
						|
      - "{{ container_port }}"
 | 
						|
    networks:
 | 
						|
      default:
 | 
						|
        ipv4_address: 192.168.102.71
 | 
						|
{% endif %}
 | 
						|
 | 
						|
 | 
						|
{% set service_name = NEXTCLOUD_CRON_SERVICE %}
 | 
						|
  {{ service_name }}:
 | 
						|
    container_name: "{{ NEXTCLOUD_CRON_CONTAINER }}"
 | 
						|
    image: "{{ NEXTCLOUD_IMAGE }}:{{ NEXTCLOUD_VERSION }}"
 | 
						|
    restart: {{ DOCKER_RESTART_POLICY }}
 | 
						|
    logging:
 | 
						|
      driver: journald
 | 
						|
    volumes:
 | 
						|
      - data:{{ NEXTCLOUD_DOCKER_WORK_DIRECTORY }}
 | 
						|
    entrypoint: /cron.sh
 | 
						|
    healthcheck:
 | 
						|
      test: ["CMD", "su", "www-data", "-s", "/bin/sh", "-c", "php {{ NEXTCLOUD_INTERNAL_OCC_COMMAND }} status"]
 | 
						|
      interval: 1m
 | 
						|
      timeout: 10s
 | 
						|
      retries: 3
 | 
						|
{% include 'roles/docker-container/templates/depends_on/dmbs_excl.yml.j2' %}
 | 
						|
{% include 'roles/docker-container/templates/networks.yml.j2' %}
 | 
						|
        ipv4_address: 192.168.102.70
 | 
						|
 | 
						|
{% include 'roles/docker-compose/templates/volumes.yml.j2' %}
 | 
						|
  data:
 | 
						|
    name: {{ NEXTCLOUD_VOLUME }}
 | 
						|
{% if NEXTCLOUD_WHITEBOARD_ENABLED %}
 | 
						|
  whiteboard_tmp:
 | 
						|
    name: {{ NEXTCLOUD_WHITEBOARD_TMP_VOLUME }}
 | 
						|
  whiteboard_fontcache:
 | 
						|
    name: {{ NEXTCLOUD_WHITEBOARD_FRONTCACHE_VOLUME }}
 | 
						|
{% endif %}
 | 
						|
 | 
						|
{% include 'roles/docker-compose/templates/networks.yml.j2' %}
 |