Warning: The project is still in development and may have issues. Use at your own risk.
Current image: HestiaCP 1.10.5 on Debian 12 (bookworm), tag dddmmm/hestiacp:1.10.5.2.
PHP2Shell (CVE-2026-109618, CVE-2026-109619) is fixed in 1.10.5.2.
wget https://raw.githubusercontent.com/dddmmm5/hestiacp-docker/main/docker-compose.yml
wget https://raw.githubusercontent.com/dddmmm5/hestiacp-docker/main/.env.local -O .env
docker compose up -d
A random password will be generated for the admin user and will be displayed in the container logs on first run:
docker logs hestiacp
Note: MariaDB runs in a separate container (mariadb:10.11) to optimize initialization time for the main container. The MariaDB client in the image is pinned to 10.11 to match it: MariaDB 11.4+ clients require TLS, which the 10.11 server does not provide.
docker exec hestiacp /usr/local/hestia/bin/v-change-user-password admin YOURNEWPASSWORD
Existing containers are migrated automatically when they are recreated with the new image:
docker compose pull
docker compose up -d
On the first start the container:
hestiaweb user;Backups and the upgrade log are saved in /root/hst_backups/.
Back up /conf, /home, /backup and the MariaDB data before upgrading. The first start after the upgrade takes a few minutes.
PHP 5.6 = 5.6.40
PHP 7.0 = 7.0.33
PHP 7.1 = 7.1.33
PHP 7.2 = 7.2.34
PHP 7.3 = 7.3.33
PHP 7.4 = 7.4.33
PHP 8.0 = 8.0.30
PHP 8.1 = 8.1.34
PHP 8.2 = 8.2.35
PHP 8.3 = 8.3.36
PHP 8.4 = 8.4.27
PHP 8.5 = 8.5.12 (default)
Panel = 8.5.12
--apache yes
--phpfpm yes
--multiphp yes
--vsftpd yes
--proftpd no
--named yes
--mysql yes
--postgresql yes
--exim yes
--dovecot yes
--sieve yes
--clamav yes
--spamassassin yes
--iptables yes
--fail2ban yes
--quota yes
--api yes
--interactive no
--port 8083
--hostname server.hestiacp.localhost
--email [email protected]
--username admin
--password
--lang en
--with-debs /tmp/hestiacp-src/deb/
--force
Content type
Image
Digest
sha256:c0f9c1d2f…
Size
1.5 GB
Last updated
7 days ago
docker pull dddmmm/hestiacp:1.10.5.2