131 lines
4.6 KiB
HTML
131 lines
4.6 KiB
HTML
{% extends "base.html" %} {% block content %}
|
|
<div class="container mt-3 mb-3">
|
|
<div class="col col-12 mb-3 align-items-center text-center">
|
|
<button
|
|
class="btn btn-outline-success"
|
|
data-bs-toggle="modal"
|
|
data-bs-target="#modal-new"
|
|
>
|
|
New <i class="fa-solid fa-plus"></i>
|
|
</button>
|
|
</div>
|
|
{% if services|length == 0 %}
|
|
<div class="row justify-content-center">
|
|
<div class="col col-12 alert alert-primary text-center">
|
|
No service to show...
|
|
</div>
|
|
</div>
|
|
<div class="my-5 py-5"></div>
|
|
{% else %} {% for services_batched in services|batch(3) %}
|
|
<div class="row">
|
|
{% for service in services_batched %} {% set id_server_name =
|
|
service["SERVER_NAME"].replace(".", "-") %}
|
|
<div class="col-lg-6 mb-2 px-2">
|
|
<div class="card mb-2">
|
|
<div class="d-flex align-items-center">
|
|
<div class="flex-grow-1">
|
|
<div class="ms-2 c-details">
|
|
<h6 class="mb-0">{{ service["SERVER_NAME"] }}</h6>
|
|
</div>
|
|
</div>
|
|
<div class="d-sm-flex align-items-center">
|
|
<div class="badge dropdown px-1">
|
|
<button
|
|
type="button"
|
|
class="btn btn-outline-secondary"
|
|
id="dropdownInfoButton"
|
|
data-bs-toggle="dropdown"
|
|
aria-expanded="false"
|
|
>
|
|
<i class="fa-solid fa-circle-info"></i>
|
|
</button>
|
|
<ul class="dropdown-menu" aria-labelledby="dropdownInfoButton">
|
|
<li>
|
|
Reverse proxy
|
|
<i
|
|
class="fas fa-{{ env_to_summary_class(service['USE_REVERSE_PROXY'], 'yes') }} float-end"
|
|
></i>
|
|
</li>
|
|
<li>
|
|
Serve files
|
|
<i
|
|
class="fas fa-{{ env_to_summary_class(service['SERVE_FILES'], 'yes') }} float-end"
|
|
></i>
|
|
</li>
|
|
<li>
|
|
Remote PHP
|
|
<i
|
|
class="fas fa-{{ env_to_summary_class(service['REMOTE_PHP'], '.+') }} float-end"
|
|
></i>
|
|
</li>
|
|
<li>
|
|
HTTPS
|
|
<i
|
|
class="fas fa-{{ env_to_summary_class([service['AUTO_LETS_ENCRYPT'], service['USE_CUSTOM_HTTPS'], service['GENERATE_SELF_SIGNED_SSL']], ['yes', 'yes', 'yes']) }} float-end"
|
|
></i>
|
|
</li>
|
|
<li>
|
|
ModSecurity
|
|
<i
|
|
class="fas fa-{{ env_to_summary_class(service['USE_MODSECURITY'], 'yes') }} float-end"
|
|
></i>
|
|
</li>
|
|
<li>
|
|
Bad Behavior
|
|
<i
|
|
class="fas fa-{{ env_to_summary_class(service['USE_BAD_BEHAVIOR'], 'yes') }} float-end"
|
|
></i>
|
|
</li>
|
|
<li>
|
|
Limit req
|
|
<i
|
|
class="fas fa-{{ env_to_summary_class(service['USE_LIMIT_REQ'], 'yes') }} float-end"
|
|
></i>
|
|
</li>
|
|
<li>
|
|
DNSBL
|
|
<i
|
|
class="fas fa-{{ env_to_summary_class(service['USE_DNSBL'], 'yes') }} float-end"
|
|
></i>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="badge px-1">
|
|
<a href="http://{{ service['SERVER_NAME'] }}" target="_blank">
|
|
<button type="button" class="btn btn-outline-primary">
|
|
<i class="fa-solid fa-arrow-up-right-from-square"></i>
|
|
</button>
|
|
</a>
|
|
</div>
|
|
<div class="badge px-1">
|
|
<button
|
|
type="button"
|
|
class="btn btn-outline-secondary"
|
|
data-bs-toggle="modal"
|
|
data-bs-target="#modal-edit-id-{{ id_server_name }}"
|
|
>
|
|
<i class="fa-solid fa-sliders fa-rotate-90"></i>
|
|
</button>
|
|
</div>
|
|
<div class="badge px-1">
|
|
<button
|
|
type="button"
|
|
class="btn btn-outline-danger"
|
|
data-bs-toggle="modal"
|
|
data-bs-target="#modal-delete-id-{{ id_server_name }}"
|
|
>
|
|
<i class="fa-solid fa-trash-can"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{% include "services-edit.html" %} {% include "services-delete.html" %} {%
|
|
endfor %}
|
|
</div>
|
|
{% endfor %} {% endif %} {% include "services-new.html" %}
|
|
</div>
|
|
{% endblock %}
|