123 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<div class="tab-pane fade show active" id="docker" role="tabpanel" aria-autocomplete="none">
 | 
						|
    <h5>Common</h5>
 | 
						|
    <small class="form-text text-muted">
 | 
						|
        Common configurations for both standalone and grouped containers
 | 
						|
    </small><br>
 | 
						|
    {% for config, val in {
 | 
						|
        "API URL": ("docker_api_url", "Docker API to connect to"),
 | 
						|
        "Credentials": ("docker_credentials", "docker.io username and password, separated by ':'. useful for private images"),
 | 
						|
        "Swarm Nodes": ("docker_swarm_nodes", "Will pick up one from it, You should set your node with label name=windows-* or name=linux-*. Separated by commas."),
 | 
						|
    }.items() %}
 | 
						|
        {% set value = get_config('whale:' + val[0]) %}
 | 
						|
        <div class="form-group">
 | 
						|
            <label for="{{ val[0].replace('_', '-') }}">
 | 
						|
                {{ config }}
 | 
						|
                <small class="form-text text-muted">{{ val[1] }}</small>
 | 
						|
            </label>
 | 
						|
            <input type="text" class="form-control"
 | 
						|
                   id="{{ val[0].replace('_', '-') }}" name="{{ 'whale:' + val[0] }}"
 | 
						|
                   {% if value != None %}value="{{ value }}"{% endif %}>
 | 
						|
        </div>
 | 
						|
    {% endfor %}
 | 
						|
        {% set use_ssl = get_config('whale:docker_use_ssl') %}
 | 
						|
        <div class="form-check">
 | 
						|
            <input type="checkbox" id="docker-use-ssl" name="whale:docker_use_ssl"
 | 
						|
                   {% if use_ssl == True %}checked{% endif %}>
 | 
						|
            <label for="docker-use-ssl">Use SSL</label>
 | 
						|
        </div>
 | 
						|
        <div class="container" id="docker-ssl-config">
 | 
						|
            <div class="form-group">
 | 
						|
                <label for="docker-ssl-ca-cert">
 | 
						|
                    SSL CA Certificate
 | 
						|
                    <small class="form-text text-muted">
 | 
						|
                        the location of the CA certificate file used in ssl connection
 | 
						|
                    </small>
 | 
						|
                </label>
 | 
						|
                <input type="text" class="form-control"
 | 
						|
                       id="docker-ssl-ca-cert" name="whale:docker_ssl_ca_cert"
 | 
						|
                       value="{{ get_config('whale:docker_ssl_ca_cert') }}">
 | 
						|
            </div>
 | 
						|
            <div class="form-group">
 | 
						|
                <label for="docker-ssl-client-cert">
 | 
						|
                    SSL Client Certificate
 | 
						|
                    <small class="form-text text-muted">
 | 
						|
                        the location of the client certificate file used in ssl connection
 | 
						|
                    </small>
 | 
						|
                </label>
 | 
						|
                <input type="text" class="form-control"
 | 
						|
                       id="docker-ssl-client-cert" name="whale:docker_ssl_client_cert"
 | 
						|
                       value="{{ get_config('whale:docker_ssl_client_cert') }}">
 | 
						|
            </div>
 | 
						|
            <div class="form-group">
 | 
						|
                <label for="docker-ssl-client-key">
 | 
						|
                    SSL Client Key
 | 
						|
                    <small class="form-text text-muted">
 | 
						|
                        the location of the client key file used in ssl connection
 | 
						|
                    </small>
 | 
						|
                </label>
 | 
						|
                <input type="text" class="form-control"
 | 
						|
                       id="docker-ssl-client-key" name="whale:docker_ssl_client_key"
 | 
						|
                       value="{{ get_config('whale:docker_ssl_client_key') }}">
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
        <script>
 | 
						|
            (function () {
 | 
						|
                let config = document.getElementById('docker-ssl-config');
 | 
						|
                let option = document.getElementById('docker-use-ssl');
 | 
						|
                config.hidden = !option.checked;
 | 
						|
                option.onclick = () => (config.hidden = !option.checked) || true;
 | 
						|
            }) ()
 | 
						|
        </script>
 | 
						|
    <hr>
 | 
						|
    <h5>Standalone Containers</h5>
 | 
						|
    <small class="form-text text-muted">
 | 
						|
        Typical challenges. Under most circumstances you only need to set these.
 | 
						|
    </small><br>
 | 
						|
    {% for config, val in {
 | 
						|
        "Auto Connect Network": ("docker_auto_connect_network", "The network connected for single-containers. It's usually the same network as the frpc is in."),
 | 
						|
        "Dns Setting": ("docker_dns", "Decide which dns will be used in container network."),
 | 
						|
    }.items() %}
 | 
						|
        {% set value = get_config('whale:' + val[0]) %}
 | 
						|
        <div class="form-group">
 | 
						|
            <label for="{{ val[0].replace('_', '-') }}">
 | 
						|
                {{ config }}
 | 
						|
                <small class="form-text text-muted">
 | 
						|
                    {{ val[1] }}
 | 
						|
                </small>
 | 
						|
            </label>
 | 
						|
            <input type="text" class="form-control"
 | 
						|
                   id="{{ val[0].replace('_', '-') }}" name="{{ 'whale:' + val[0] }}"
 | 
						|
                   {% if value != None %}value="{{ value }}"{% endif %}>
 | 
						|
        </div>
 | 
						|
    {% endfor %}
 | 
						|
    <hr>
 | 
						|
    <h5>Grouped Containers</h5>
 | 
						|
    <small class="form-text text-muted">
 | 
						|
        Designed for multi-container challenges
 | 
						|
    </small><br>
 | 
						|
    {% for config, val in {
 | 
						|
        "Auto Connect Containers": ("docker_auto_connect_containers","Decide which container will be connected to multi-container-network automatically. Separated by commas."),
 | 
						|
        "Multi-Container Network Subnet": ("docker_subnet", "Subnet which will be used by auto created networks for multi-container challenges."),
 | 
						|
        "Multi-Container Network Subnet New Prefix": ("docker_subnet_new_prefix", "Prefix for auto created network.")
 | 
						|
    }.items() %}
 | 
						|
        {% set value = get_config('whale:' + val[0]) %}
 | 
						|
        <div class="form-group">
 | 
						|
            <label for="{{ val[0].replace('_', '-') }}">
 | 
						|
                {{ config }}
 | 
						|
                <small class="form-text text-muted">
 | 
						|
                    {{ val[1] }}
 | 
						|
                </small>
 | 
						|
            </label>
 | 
						|
            <input type="text" class="form-control"
 | 
						|
                   id="{{ val[0].replace('_', '-') }}" name="{{ 'whale:' + val[0] }}"
 | 
						|
                   {% if value != None %}value="{{ value }}"{% endif %}>
 | 
						|
        </div>
 | 
						|
    {% endfor %}
 | 
						|
 | 
						|
    <div class="submit-row float-right">
 | 
						|
        <button type="submit" tabindex="0" class="btn btn-md btn-primary btn-outlined">
 | 
						|
            Submit
 | 
						|
        </button>
 | 
						|
    </div>
 | 
						|
</div>
 |