Easypanel
Create
Roadmap
Feedback
Templates
109
Changelog
Voters
Iván Valencia
D
Davide Salamino
Lukas Hertig
Kleber Carbo
Jean
Firman Tarmizi
M
Milzam
U
Ulrik Christensen
Mohamad Yassine
W
Widianto
and 3 more...
Powered by Canny
Wazuh SIEM
M
member badge
Mark Topper
https://documentation.wazuh.com/current/deployment-options/docker/wazuh-container.html
October 7, 2023
M
member badge
Muhammad Ahsan Shaikh
I highly doubt if that's possible with Easypanel App Service right now. It is highly complicated. The only way I think of is doing it via compose but still that would bypass the Traefik and for SSL it would try querying itself, which will not be possible either due to trafeik occupying the ports 80 and 443.
·
December 4, 2025
·
Reply
J
Jorge B.
This is my proposed template. The only thing to keep in mind is:
This template will deploy the containers, but the application will probably NOT start correctly on the first attempt.
Wazuh has a strict security architecture. It requires that the SSL certificates (root-ca, admin-key, etc.) exist and match in all three containers before starting.
In standard Docker Compose, this is resolved with an ephemeral container (generator) that creates the certificates and shuts down. Easypanel doesn't handle single-task containers well within a service template.
Recommended Solution (Workaround):
Deploy the template above. The containers will be created and will likely enter a crash loop (CrashLoopBackOff), complaining about "missing certificates."
Access the wazuh-manager console (or use the host terminal to access the shared wazuh-certs volume we defined).
Generate the certificates manually within the shared volume or upload them via SFTP to the volume's path.
Restart the services from the Easypanel dashboard.
·
December 3, 2025
·
Reply
J
Jorge B.
{
"services": [
{
"type": "app",
"name": "wazuh-indexer",
"image": "wazuh/wazuh-indexer:4.7.2",
"resourceLimits": {
"memory": "2G",
"cpu": "1"
},
"env": [
"OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g",
"DISCOVERY_TYPE=single-node"
],
"mounts": [
{
"type": "volume",
"name": "wazuh-indexer-data",
"mountPath": "/var/lib/wazuh-indexer"
},
{
"type": "volume",
"name": "wazuh-certs",
"mountPath": "/etc/wazuh-indexer/certs"
}
]
},
{
"type": "app",
"name": "wazuh-manager",
"image": "wazuh/wazuh-manager:4.7.2",
"resourceLimits": {
"memory": "1.5G",
"cpu": "1"
},
"env": [
"INDEXER_URL=https://wazuh-indexer:9200"
],
"ports": [
{
"published": 1514,
"target": 1514,
"protocol": "tcp"
},
{
"published": 1515,
"target": 1515,
"protocol": "tcp"
},
{
"published": 55000,
"target": 55000,
"protocol": "tcp"
}
],
"mounts": [
{
"type": "volume",
"name": "wazuh-manager-data",
"mountPath": "/var/ossec/data"
},
{
"type": "volume",
"name": "wazuh-certs",
"mountPath": "/etc/wazuh-manager/certs"
}
]
},
{
"type": "app",
"name": "wazuh-dashboard",
"image": "wazuh/wazuh-dashboard:4.7.2",
"resourceLimits": {
"memory": "1G",
"cpu": "0.5"
},
"env": [
"INDEXER_URL=https://wazuh-indexer:9200",
"WAZUH_API_URL=https://wazuh-manager:55000"
],
"domains": [
{
"host": "$(EASYPANEL_DOMAIN_PREFIX).$(EASYPANEL_DOMAIN)",
"port": 5601
}
],
"mounts": [
{
"type": "volume",
"name": "wazuh-dashboard-config",
"mountPath": "/usr/share/wazuh-dashboard/data/wazuh/config"
},
{
"type": "volume",
"name": "wazuh-certs",
"mountPath": "/etc/wazuh-dashboard/certs"
}
]
}
]
}
·
December 3, 2025
·
Reply
Powered by Canny