É possível rodar o Ghost 3.0 na Umbler?

É possível instalar o Ghost na Umbler, existe alguma documentação que apresenta como fazê-lo?

Olá, @jamilfilho! Tudo bem?
Sim, temos essa seção no nosso tutorial de NodeJS que explica as modificações que precisam ser feitas: https://help.umbler.com/hc/pt-br/articles/115001793863-Node-JS-at-Umbler#ghostNode

Mas, neste caso, é só fazer upload dos arquivos do Ghost via FTP normalmente e ajustar as configurações do arquivo config.production.json?

Porque, as novas atualizações do Ghost não possuí mais o arquivo config.js, tal como indicado no tutorial.

Ah, interessante
No caso, a modificação que precisa ser feita é definir a porta em que ele vai escutar pra 3000 e definir o host como 0.0.0.0 para que ele aceite requests oriundas de qualquer lugar!
Se essas informações são contidas agora no config.production.json, então é aí que deve ser feito :smiley:

1 curtida

Mas é necessário adicionar no “package.json” no scripts “start” o “ghost start” ou o Ghost já inicia automaticamente?

não tenho certeza se é exatamente esse o comando, mas independente da aplicação usada é essencial que tenha no script start do package.json o comando para iniciá-la
Pois como cada aplicação tem uma maneira de iniciar diferente, a única coisa que o container faz é executar o comando npm start, que por consequência, executa o que estiver dentro do script start

Estou há alguns dias tentando fazer o Ghost funcionar, embora normalmente o Ghost-CLI deva ser instalado como pacote global, ele funcionou perfeitamente instalando sem ser globalmente, mas ao chamar o comando ghost start no scrip start do package.json, o Ghost-CLI não finaliza a execução porque ele inicia por conta da impossibilidade de executar o comando sudo

Isso, mas é possível utilizar os comandos mesmo assim
Quando dentro de um script do package.json, ele considera também os comandos que estiverem dentro da node_modules/.bin, mesmo que eles não tenham sido registrados globalmente
Alternativamente, é possível referenciar eles diretamente também na linha do comando, utilizando o caminho completo
Exemplo:
> node_modules/.bin/ghost

1 curtida

Sim, mas o grande problema é que, embora o Ghost-CLI inicie mesmo sem ser instalado globalmente, através do script start, ele não concluí nenhum dos comandos do Ghost, seja ghost setup, ghost-start, etc. porque não é possível rodar o sudo.

Ah, certo
Se o comando precisa mesmo de sudo para executar e não tiver nenhuma maneira alternativa, infelizmente não será possível usá-lo mesmo :sweat:

Olá, quer dizer que não é possível usar o Ghost na Umbler? Se puderem confirmar, pois isso impacta projetos que gostaria de migrar pra cá.

1 curtida

Dá até pra instalar o Ghost-CLI, mas não consegui rodar a instância, porque o Ghost precisa do sudo.

E tem algum outro jeito de startar o Ghost? Tipo algo:

 var ghost = require('ghost');
 var path = require('path');

ghost().then(function (ghostServer) {
    ghostServer.start();
});

NODE_ENV=production node index.js

Talvez setar outro usuario nao ‘root’?

Sim, você consegue rodar o Ghost-CLI mesmo ele não tendo sido instalado globalmente.

Mas de qualquer maneira ele precisa da autorização para rodar os comandos utilizando o sudo e mesmo que você crie um script para rodá-lo ou adicione outro usuário para gerenciá-lo ainda assim será necessário conceder permissões para rodas comandos utilizando o sudo ( usermod -aG sudo <user>) e, por padrão, a Umbler desabilitou esse recurso.

Desculpe estou confusa. Quer dizer então que nao é possivel usar o Ghost?

Não. Até dá pra instalar o CLI, mas não dá pra usar.

@ThFnsc Tem algum jeito de fazer o sudo disponivel pra comandos especificos? Talvez atraves de um ticket de suporte?

Olá, @bdecarli!
Infelizmente não é possível :confused:

Felizmente é possível sim,
tanto que utilizo na umbler o meu site me ghost: www.cunhaetavares.com.br.

Acontece que o ghost Cli cria uma pasta para gerenciar os seus processos em modo DEV, mas se você entrar na pasta “CURRENT” você encontra o projeto em node que deve ser publicado sem a necessidade de utilizar o ghost cli.