O Ghost é uma plataforma popular de criação de conteúdo escrita em JavaScript com Node.js. O software de código aberto vem com tudo o que você precisa para criar, tema, publicar e manter seu blog.
O Ghost é um software de código aberto suportado pelo serviço hospedado oficial do Ghost (Pro). Você pode instalá-lo em seu servidor adicionando Node.js e usando a CLI do Ghost para configurar sua pilha. O Ghost também está disponível como uma imagem do Docker que agrupa todas as dependências para você.
Neste guia, usaremos o Docker para colocar rapidamente um novo blog do Ghost em funcionamento. Instale o Docker e o Docker Compose em seu host antes de continuar. Embora você possa implementar o Ghost apenas com o Docker, o Compose facilita o fornecimento e o gerenciamento das definições de configuração que seu site precisa para começar.
índice
- Iniciando um contêiner fantasma
- Configuração fantasma
- Use um banco de dados externo
- Encaminhando tráfego para seu contêiner
- Gerenciamento de atualização fantasma
- Usando ghost-cli
- Resumo
Iniciando um contêiner fantasma
Você pode iniciar um site básico do Ghost com um único comando do Docker:
docker run -d -p 2368:2368 --name simple-ghost ghost:4
Isso fará com que o Ghost apareça em sua porta padrão de 2368. Visite http://localhost:2368
para ver o site ou http://localhost:2368/ghost
para acessar o painel de administração do Ghost. Você precisará fornecer algumas configurações de primeira execução para concluir a instalação do Ghost e criar uma conta de usuário inicial.
Essa abordagem é ótima para experimentação rápida se você estiver apenas testando o Ghost. No entanto, ainda não configuramos o armazenamento persistente, portanto, seus dados serão perdidos quando o contêiner parar.
Aqui está um exemplo mais completo usando o Docker Compose para configurar o Ghost com um volume do Docker. Monte um volume no diretório /var/lib/ghost/content
para armazenar dados do Ghost fora do contêiner.
version: "3" services: ghost: image: ghost:4 ports: - 8080:2368 environment: url: https://ghost.example.com volumes: - ghost:/var/lib/ghost/content restart: except- volumes parados: fantasma:
Este arquivo Compose mostra algumas outras alterações na configuração do contêiner. A porta 2368 exposta pelo contêiner mapeia para a porta 8080 em seu host, permitindo que você use localhost:8080
para acessar o Ghost. A política de reinicialização é alterada para a unless-stopped
para garantir que seu site seja iniciado automaticamente após a reinicialização do host.
Agora use o Compose para visualizar seu site:
docker-compose up -d
Configuração fantasma
O Ghost oferece suporte a vários parâmetros de configuração para personalizar seu comportamento e configurar seu site. Ao usar o Docker, você pode fornecer esses valores como variáveis de ambiente.
Os arquivos de configuração do Ghost usam objetos JSON aninhados para armazenar valores. Você pode converter chaves JSON em seus equivalentes de variáveis de ambiente substituindo cada nível da árvore por caracteres __
(sublinhado duplo):
# em um arquivo de configuração JSON { "mail": { "transport": "SMTP" } } # como uma variável de ambiente mail__transport=SMTP
Use o campo de environment
em seu docker-compose.yml
para fornecer estes parâmetros ao seu contêiner do Ghost:
versão: serviços "3": ghost: environment: mail__transport: SMTP
Consulte a documentação do Ghost para obter uma lista completa de opções compatíveis. Você pode configurar um sistema de e-mail, usar uma URL separada para acessar o painel de administração, ignorar caminhos de diretório e habilitar opções de privacidade por meio das variáveis de ambiente disponíveis.
A opção url
é especialmente importante, pois é necessária para sites de produção ao vivo. Isso define a URL que os visitantes externos usarão para acessar seu site. Defina-o para o nome de domínio do seu site em seu docker-compose.yml
:
ambiente: url: https://ghost.example.com
Use um banco de dados externo
Por padrão, o Ghost usa um banco de dados SQLite armazenado como um arquivo no diretório de conteúdo do seu site. Ele permanecerá como parte do volume do Docker criado anteriormente. Em vez disso, você pode usar um banco de dados MySQL externo fornecendo detalhes de conexão via database
de dados – variáveis de ambiente padrão:
services : ghost : # ... ambiente : database__client : mysql database__connection__host : ghost_mysql database__connection__user : root database__connection__password : databasePw database__connection__database : ghost ghost_mysql : image : mysql:5.7 expor : - 3306 environment : MYSQL_DATABASE : ghost MYSQL_ROOT_PASSWORD : databasePw volumes : -mysql_DATABASE : ghost MYSQL_ROOT_PASSWORD : databasePw volumes var/lib/mysql restart : volumes a menos que sejam parados : mysql:
Este arquivo Compose inclui outro serviço que executa o MySQL em um contêiner adicional. As variáveis de ambiente são definidas no serviço Ghost para fornecer detalhes de conexão do MySQL. Um volume mysql
separado é criado para preservar os arquivos do banco de dados.
O Compose conecta automaticamente os serviços a uma rede do Docker. O Ghost pode acessar o contêiner ghost_mysql
usando o nome do serviço como o nome do host. Se você quiser usar um banco de dados MySQL não dockerizado existente, poderá remover o arquivo de definição de serviço ghost_mysql
e fornecer o endereço IP, o nome do esquema do banco de dados e as credenciais do usuário do servidor MySQL.
Encaminhando tráfego para seu contêiner
Seu site do Ghost agora deve estar funcionando, mas ainda está exposto na porta 8080. Se você não estiver executando mais nada em seu host, poderá atribuir a porta 80 ou 443 para ser acessada diretamente por meio do nome de domínio do seu servidor. Em outras situações, use um proxy reverso como o NGINX para encaminhar o tráfego da Web para o contêiner do Ghost.
Adicione NGINX ao seu host:
sudo apt update sudo apt install nginx # Permite tráfego HTTP/HTTPS através do firewall sudo ufw allow 80 sudo ufw allow 443
Defina um host NGINX para seu site em /etc/nginx/sites-available/ghost.example.com
:
servidor { server_name ghost.example.com; index index.html; access_log /var/log/nginx/ghost_access.log error_log /var/log/nginx/ghost_error.log error; local / { proxy_pass http://127.0.0.1:8080; proxy_redirect desligado; proxy_set_header Host $http_host; proxy_set_header X-Original-IP $remote_addr; } }
Este arquivo configura o NGINX para encaminhar o tráfego para ghost.example.com
através da porta 8080 em diante localhost
, que estava anteriormente vinculado ao seu contêiner do Ghost. Habilite o novo arquivo de configuração conectando-o ao diretório sites-enabled
NGINX:
sudo ln -s /etc/nginx/sites-available/ghost.example.com /etc/nginx/sites-enabled/ghost.example.com
Reinicie o NGINX para aplicar as alterações:
sudo service nginx restart
Agora você pode configurar o SSL com o serviço gratuito Let's Encrypt. Adicione o Let's Encrypt Certbot para automatizar a emissão e renovação de certificados:
sudo apt instalar certbot
Use o Certbot para obter certificados para seu site NGINX:
sudo certbot --nginx
O Certbot lerá seus sites NGINX e gerará certificados para seus campos de configuração server_name
. Reconfigure automaticamente o NGINX para servir o certificado com seu site. Agora você deve conseguir acessar seu blog do Ghost visitando seu nome de domínio por HTTPS.
Embora tenhamos focado no NGINX neste artigo, existem outras opções para fazer proxy do tráfego da Web por meio do contêiner do Ghost. Traefik é um grande concorrente que tem suporte de primeira classe para o Docker. A implantação de uma instância do Traefik permite configurar roteamento automático e SSL por meio das tags do Docker que você configuraria em seu contêiner do Ghost.
Gerenciamento de atualização fantasma
Você pode atualizar o Ghost substituindo o contêiner do Docker do seu site por um novo que execute uma versão atualizada da imagem do Ghost. Como o conteúdo do seu site é armazenado com segurança em um volume separado do Docker, ele será preservado quando o volume for reanexado ao novo contêiner.
Se você estiver marcando uma versão principal da imagem em seu docker-compose.yml
, por exemplo, ghost:4
, você pode atualizar para a versão secundária mais recente executando docker-compose up
com o sinalizador --pull
:
docker-compose up -d --pull
Isso informa ao Compose para procurar alterações na tag de imagem e extrair uma versão atualizada quando disponível. Substitua seus contêineres por novas instâncias usando a versão mais recente da imagem que corresponde à tag.
Quando você quiser alterar a tag que está usando, atualize o arquivo de image
referenciado em seu docker-compose.yml
. Repita docker-compose up -d
para extrair a imagem e iniciar novos contêineres. Por exemplo, se o Ghost v5 for lançado no futuro, convém alterar seu docker-compose.yml
para image: ghost:5
para alternar para a nova versão principal.
O Docker facilita a obtenção de atualizações do Ghost extraindo a imagem mais recente e substituindo os contêineres. No entanto, você ainda precisa prestar atenção às alterações que está aplicando. Verifique o registro de alterações do Ghost antes de fazer uma atualização importante, caso precise executar etapas adicionais para concluir a migração.
Usando ghost-cli
ghost-cli
está disponível dentro da imagem do Ghost Docker. Este utilitário é usado para configurar e manter o Ghost quando instalado em ambientes tradicionais sem contêineres.
Você pode fazer login ghost-cli
pelo Docker usando o comando ghost
com docker exec
. Aqui está um exemplo que usa o subcomando version
para revelar a versão do Ghost que você está usando:
docker exec -it my-ghost-container ghost version
Embora muitos componentes ghost-cli
funcionem, alguns não são compatíveis com ambientes dockerizados. Comandos como install
, setup
, update
e uninstall
estão quebrados, sem sentido ou contrários às práticas recomendadas quando usados com a imagem do Ghost Docker. O Ghost e todas as suas dependências são incorporadas à imagem e não precisam ser "instaladas"; as atualizações devem ser aplicadas iniciando um novo contêiner, conforme mostrado acima.
Resumo
O Ghost é uma plataforma de blog moderna que oferece um painel limpo, conteúdo avançado avançado e recursos de criação de temas e suporte para personalização. Usar o Docker para hospedar o Ghost simplifica o processo de configuração, reduz o número de pacotes de SO necessários e ajuda a tornar seu site mais portátil entre ambientes.
Depois que seu blog dockerizado estiver funcionando, use a documentação de desenvolvimento padrão do Ghost para gerenciar seu site e seu conteúdo. Você pode configurar assinaturas, boletins informativos, temas personalizados e integrações de API usando os recursos integrados da plataforma.
- Como converter PNG para JPG no Windows 10 ou 11
- Mais de 90 temas WordPress, plugins de backdoor no ataque da cadeia de suprimentos
descubra mais conteúdo
O que é um amplificador integrado?
Google Pixel Watch também tem detecção de queda, mas não até o próximo ano
As melhores xícaras de café aquecidas de 2022
Como automatizar seu iPhone com base na hora, atividade ou localização
"Isso deve ter sido antes do meu tempo"
Por que a NASA enviou Snoopy para a Lua? – Revisão Geek
O que é o fantasma do Docker?
O Ghost é uma plataforma de blogs gratuita e de código aberto escrita em JavaScript e distribuída sob a licença MIT , projetada para simplificar o processo de publicação online para blogueiros individuais, bem como publicações online.
Como instalo o Ghost Docker?
Como instalar o Ghost CMS com o Docker no Ubuntu 20.04
- Pré-requisitos.
- Passo 1 – Configure o Firewall UFW.
- Passo 2 – Instale o Certbot e obtenha o certificado SSL.
- Etapa 3 – Instale o Docker e o Docker Compose.
- Passo 4 – Instale o Ghost. Criar arquivo de composição do Docker.
- Passo 5 – Execute o Site.
- Etapa 6 – Configuração completa.
- Passo 7 – Atualize o Ghost.
O que é o cão de guarda Docker?
O pacote Python docker-watchdog fornece um serviço em segundo plano que monitora os hosts de contêiner do Docker por períodos de inatividade e executa um desligamento automático do host depois que um limite de inatividade predefinido é atingido .
O que é o supervisor Docker?
Ferramenta de gerenciamento de solicitações e descoberta de mídia para o ecossistema Plex. Foto. Overseerr é um aplicativo de software gratuito e de código aberto para gerenciar solicitações para sua biblioteca de mídia . Ele se integra aos seus serviços existentes, como Sonarr, Radarr e Plex!