← Все шаблоны · Сайты и магазины
Задеплойте Joomla в один клик
CMS с открытым кодом для сайтов: несколько языков, уровни доступа и тысячи расширений
Альтернатива Wix и Squarespace на вашей машине.
Что такое Joomla?
Joomla — бесплатная система управления контентом с открытым кодом для любых сайтов, от страничек клуба до сайта компании на нескольких языках. Материалы раскладываются по категориям и выводятся через меню и модули, а в ядре есть шаблон Cassiopeia, медиа-менеджер, контакты с их формами, теги, умный поиск и адреса, удобные для поисковиков (ЧПУ). Многоязычному сайту не нужны расширения: у каждого языка свой контент и своя главная страница, а материалы связываются со своими переводами. Группы пользователей и уровни доступа определяют, кто что видит и редактирует, а в Каталоге расширений Joomla (Joomla Extensions Directory) больше 5000 расширений.
Этот шаблон запускает Joomla 6 из официального образа с MariaDB и устанавливает ее при первом запуске по данным из полей, так что веб-установщик никогда не бывает открыт для посторонних. Файлы Joomla лежат в томе и обновляются из панели управления, а начиная с Joomla 5.4 сайт, до которого может достучаться сервис обновлений Joomla, сам ставит минорные и патч-релизы. Подвох: на новую мажорную версию переходят вручную, когда ее поддержат ваши расширения.
Хостинг Joomla на Pethost
- Вы входите в Pethost — с passkey, через GitHub или Google. Машины еще нет? Вы выбираете тариф, и ссылка ждет, пока машина не будет готова.
- Окно «Новый проект» открывается на приложении Joomla. Вы заполняете то, что оно просит, и нажимаете «Создать проект»: Электронная почта, Имя пользователя, Пароль администратора.
- Через минуту-две Joomla работает по своему адресу с HTTPS. Секреты создаются случайно, а данные попадают в ночной бэкап.
- Это проект как любой другой: вы или ваш агент можете его изменить, откатить или восстановить.
Вопросы про Joomla
Joomla бесплатная?
Да. Joomla — бесплатное ПО с открытым кодом под лицензией GNU General Public License версии 2 или новее. Ее делают волонтеры, а управляет проектом некоммерческая организация Open Source Matters.
Joomla все еще поддерживается?
Да. Joomla 6.2 вышла 13 октября 2026 года, Joomla 6 получает исправления ошибок до 17 октября 2028 года и исправления безопасности до 16 октября 2029 года, а Joomla 6.3 запланирована на апрель 2027 года.
Как обновить Joomla?
Сначала сделайте бэкап, затем откройте «Система», выберите «Joomla» в блоке «Обновление» и нажмите «Обновить» или выполните php cli/joomla.php core:update в шелле сервиса joomla. Если включено «Автообновление» — а у нового сайта, до которого может достучаться сервис обновлений Joomla, оно включено, — Joomla сама ставит минорные и патч-релизы.
Как сделать многоязычный сайт на Joomla?
Хватит одного ядра: установите языки, опубликуйте для каждого язык контента, включите плагин «Система - Фильтр языка», создайте для каждого языка пункт меню главной страницы и свяжите каждый материал с его переводами на вкладке «Связи».
Почему Joomla требует пароль из 12 символов?
Новый сайт на Joomla требует пароли не короче 12 символов, в том числе у суперпользователя. Этот шаблон передает ваш пароль администратора установщику Joomla, а тот отклоняет более короткий: тогда сайт запустится, как только ADMIN_PASSWORD в .env станет длиннее.
Сколько памяти и диска нужно Joomla?
Joomla: небольшие требования — около 170 MB памяти вместе с MariaDB, а сайт растет вместе с изображениями и файлами, которые вы загружаете. На Pethost ему хватит тарифа Starter, и рядом останется место для других приложений.
Joomla: файл Docker Compose
Шаблон — это этот compose.yaml и переменные, которые пишутся в .env проекта при его создании. Pethost запускает файл так, как он написан.
Контейнеры: joomla (joomla:6-apache), db (mariadb:11.8).
Тома, в ночном бэкапе: joomla, db.
services:
joomla:
image: joomla:6-apache
restart: unless-stopped
depends_on:
db:
condition: service_healthy
environment:
JOOMLA_DB_HOST: db
JOOMLA_DB_NAME: joomla
JOOMLA_DB_USER: joomla
JOOMLA_DB_PASSWORD: ${DB_PASSWORD}
SITE_NAME: ${HOST}
ADMIN_USERNAME: ${ADMIN_USERNAME}
ADMIN_EMAIL: ${ADMIN_EMAIL}
ADMIN_PASSWORD: ${ADMIN_PASSWORD}
# A new Joomla opens its web installer to whoever comes first. So the image's entrypoint is
# run first only to copy Joomla into the volume and make the database, Joomla's own CLI
# installer then makes the site and its Super User from the fields, and Apache starts only
# once the site is installed: a refusal (Joomla takes a password of 12 characters at least)
# stops the start, says why in the logs, and is tried again at the next.
#
# PHP's own upload limit is 2 MB, too little for a photo, and the image has no variable for it.
entrypoint:
- sh
- -c
- |
set -e
printf 'upload_max_filesize = 64M\npost_max_size = 64M\n' > /usr/local/etc/php/conf.d/uploads.ini
/entrypoint.sh apache2 -v > /dev/null
if [ -e installation/joomla.php ]; then
php installation/joomla.php install --no-interaction \
--site-name="$$SITE_NAME" \
--admin-user="$$ADMIN_USERNAME" \
--admin-username="$$ADMIN_USERNAME" \
--admin-password="$$ADMIN_PASSWORD" \
--admin-email="$$ADMIN_EMAIL" \
--db-type=mysqli \
--db-host="$$JOOMLA_DB_HOST" \
--db-user="$$JOOMLA_DB_USER" \
--db-pass="$$JOOMLA_DB_PASSWORD" \
--db-name="$$JOOMLA_DB_NAME" \
--db-prefix=jos_ \
--db-encryption=0
rm -rf installation
chown -R www-data:www-data .
chmod 444 configuration.php
fi
exec /entrypoint.sh apache2-foreground
volumes:
- joomla:/var/www/html
db:
image: mariadb:11.8
restart: unless-stopped
environment:
MARIADB_DATABASE: joomla
MARIADB_USER: joomla
MARIADB_PASSWORD: ${DB_PASSWORD}
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
volumes:
- db:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 5s
timeout: 5s
retries: 20
start_period: 30s
volumes:
joomla:
db: