---
title: "Joomla com Docker Compose e hospedagem em um clique"
description: "O Joomla é o CMS de código aberto para sites, com conteúdo multilíngue e níveis de acesso nativos. Auto-hospede o Joomla 6 com MariaDB em um clique."
---

[← Todos os templates](https://pethost.dev/pt/templates/) · [Sites e lojas](https://pethost.dev/pt/templates/websites/)

# Faça deploy de Joomla em um clique

O CMS de código aberto para sites, com vários idiomas, níveis de acesso e milhares de extensões

Uma alternativa auto-hospedada para Wix e Squarespace.

[Fazer deploy no Pethost](https://console.pethost.dev/?template=joomla)

## O que é Joomla?

O Joomla é um sistema de gerenciamento de conteúdo gratuito e de código aberto para sites de todo tipo, das páginas de um clube ao site de uma empresa em vários idiomas. Os artigos ficam em categorias e aparecem por meio de menus e módulos, e o núcleo traz o template Cassiopeia, um gerenciador de mídia, contatos com seus formulários, tags, Busca Inteligente e URLs amigáveis para mecanismos de busca. Um site multilíngue não precisa de extensão: cada idioma ganha seu conteúdo e sua página inicial, e os artigos são associados às suas traduções. Grupos de usuários e níveis de acesso decidem quem vê e edita o quê, e o Diretório de Extensões do Joomla lista mais de 5.000 extensões.

Este template roda o Joomla 6 a partir da imagem oficial com o MariaDB e o instala na primeira inicialização a partir dos campos, então o instalador web nunca fica aberto para um estranho. Os arquivos do Joomla ficam em um volume e são atualizados no Administrador do site, e desde o Joomla 5.4 um site que o serviço de atualização do Joomla consegue acessar instala sozinho as versões menores e de correção. O porém: a atualização para uma nova versão principal é feita manualmente, depois que suas extensões a suportarem.

## Hospedagem de Joomla no Pethost

1. Você entra no Pethost com uma passkey, GitHub ou Google. Ainda não tem máquina? Você escolhe um plano, e o link espera até ela ficar pronta.
2. Novo projeto abre em Joomla. Você preenche o que ele pede e clica em Criar projeto: **E-mail**, **Usuário**, **Senha do administrador**.
3. Em um ou dois minutos Joomla está no ar no próprio endereço com HTTPS. Os segredos são gerados ao acaso, e os dados vão para o backup noturno.
4. É um projeto como qualquer outro: você ou seu agente podem alterá-lo, fazer rollback ou restaurá-lo.

## Perguntas sobre Joomla

**O Joomla é gratuito?**

Sim. O Joomla é gratuito e de código aberto sob a GNU General Public License, versão 2 ou posterior. Voluntários o desenvolvem, e a Open Source Matters, organização sem fins lucrativos, governa o projeto.

**O Joomla ainda é mantido?**

Sim. O Joomla 6.2 saiu em 13 de outubro de 2026, o Joomla 6 recebe correções de bugs até 17 de outubro de 2028 e correções de segurança até 16 de outubro de 2029, e o Joomla 6.3 está previsto para abril de 2027.

**Como atualizo o Joomla?**

Faça um backup antes, depois abra Sistema, escolha Joomla em Atualização e clique em Iniciar atualização, ou rode php cli/joomla.php core:update no shell do serviço joomla. Com as atualizações automáticas, que vêm ativadas num site novo que o serviço de atualização do Joomla consegue acessar, ele instala sozinho as versões menores e de correção.

**Como faço um site multilíngue no Joomla?**

Só com o núcleo: instale os idiomas, publique um idioma de conteúdo para cada um, ative o plugin Filtro de Idioma, crie um item de menu de página inicial por idioma e associe cada artigo às traduções dele na aba Associações.

**Por que o Joomla exige uma senha de 12 caracteres?**

Um site Joomla novo pede senhas de pelo menos 12 caracteres, inclusive a do Super Usuário. Este template passa a sua senha de administrador ao instalador do Joomla, que recusa uma mais curta: o site então só inicia quando o valor de ADMIN_PASSWORD no .env for mais longo.

**De quanta memória e disco Joomla precisa?**

Joomla é leve: cerca de 170 MB de memória com o MariaDB, e o site cresce com as imagens e os arquivos que você envia. No Pethost, o plano Starter basta, com espaço para outros apps ao lado.

## Arquivo Docker Compose de Joomla

O template é este compose.yaml e as variáveis gravadas no .env do projeto quando ele é criado. O Pethost roda o arquivo exatamente como está escrito.

**Containers:** joomla (joomla:6-apache), db (mariadb:11.8).

**Volumes, no backup noturno:** 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:
```

[compose.yaml](https://pethost.dev/templates/joomla/compose.yaml)[Ver no GitHub](https://github.com/pethost-dev/templates/tree/main/joomla)

## [Mais em Sites e lojas](https://pethost.dev/pt/templates/websites/)

- [**WordPress**Um criador de sites e blogs com temas e plugins](https://pethost.dev/pt/templates/wordpress/)
- [**Ghost**Uma plataforma de publicação para blogs e newsletters](https://pethost.dev/pt/templates/ghost/)
- [**Grav**Um CMS de arquivos: um site ou blog rápido, com painel de administração e sem banco de dados](https://pethost.dev/pt/templates/grav/)
- [**Spree Commerce**Uma plataforma de e-commerce de código aberto: produtos, pedidos, pagamentos e uma API headless para qualquer loja](https://pethost.dev/pt/templates/spree/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Templates](https://pethost.dev/pt/templates/)
- [Sobre nós](https://pethost.dev/about/)
- [Docs](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/pt/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [Termos](https://pethost.dev/terms/)
- [Privacidade](https://pethost.dev/privacy/)
- [Reembolsos](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Bancos de dados

- [Postgres](https://pethost.dev/pt/postgres/)

Comparativos

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/pt/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/pt/blog/coolify-cloud-vs-dokploy-cloud/)
- [Preços Railway vs Render vs Fly.io](https://pethost.dev/pt/blog/railway-vs-render-vs-fly-io-pricing/)
- [Hospedagem gerenciada de Docker Compose](https://pethost.dev/pt/blog/managed-docker-compose-hosting/)

Alternativas

- [Alternativas ao Railway](https://pethost.dev/pt/blog/railway-alternatives/)
- [Alternativas ao Heroku](https://pethost.dev/pt/blog/heroku-alternatives/)
- [Alternativas ao Dokploy](https://pethost.dev/pt/blog/dokploy-alternatives/)
- [Alternativas ao Coolify](https://pethost.dev/pt/blog/coolify-alternatives/)
- [Alternativas ao Render](https://pethost.dev/pt/blog/render-alternatives/)
- [Alternativas ao Sliplane](https://pethost.dev/pt/blog/sliplane-alternatives/)
