Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ghost blog #3

Open
patoroco opened this issue Feb 23, 2019 · 0 comments
Open

Ghost blog #3

patoroco opened this issue Feb 23, 2019 · 0 comments

Comments

@patoroco
Copy link
Owner

Crear app en el server

dokku apps:create ghost

dokku domains:add ghost ghost.wecode.patoroco.net

# requires to have mariadb plugin installed

dokku mariadb:create ghost-db

dokku mariadb:link ghost-db ghost

Install mariadb

https://github.com/dokku/dokku-mariadb

sudo dokku plugin:install https://github.com/dokku/dokku-mariadb.git mariadb

Tras linkar la base de datos con la app, tenemos la variable de entorno para la base de datos:

Already linked as DATABASE_URL

Necesitamos tener la app desplegada para poder settear las variables de entorno, y también necesitamos settear estas variables para que todo funcione.
Por ello, en el primer arranque necesitamos desactivar los checks para que ignore el fallo al arrancar por no tener la base de datos configurada.

dokku checks:disable ghost

Ahora vamos a obtener la configuración de la base de datos para poder configurarla en la aplicación:

dokku config:get ghost DATABASE_URL

# => mysql://mariadb:8b411ff08300514b@dokku-mariadb-ghost-db:3306/ghost-db

Con esto, vamos a configurar las variables de entorno para la app:

dokku config:set --no-restart ghost \
database__connection__user=mariadb \
database__connection__password=8b411ff08300514b \
database__connection__host=dokku-mariadb-ghost-db \
database__connection__database=ghost-db

Y ahora configuramos la URL y los puertos para ghost:

dokku --no-restart config:set ghost \
url=https://ghost.wecode.patoroco.net \
server__host=0.0.0.0 \
server__port=5000

Ya tenemos todo listo para descargarnos Ghost a nuestro local:

https://github.com/TryGhost/Ghost/releases

Descargamos la última versión, e inicializamos el repo git (porque necesitaremos hacer push luego):

cd Ghost-2.15.0
git init
git add -A
git commit -m "First commit"

Y añadirmos el repo y hacemos push:

git remote add dokku [email protected]:ghost
git push dokku master

Corremos las migraciones y volvemos a activar los checks:

dokku run ghost knex-migrator init

dokku logs ghost

dokku checks:enable ghost

Añadimos letsencrypt

dokku config:set --no-restart ghost [email protected]
dokku letsencrypt ghost

Comprobar que todo funciona:
https://ghost.wecode.patoroco.net/

admin: https://ghost.wecode.patoroco.net/ghost/

Escribir un post y subir una imagen. Tras esto vamos a hacer un cambio al README, y a hacer push para forzar el re-deploy.

Comprobamos que la imagen ya no está en el blog, explicar que los containers son efímeros, por lo que necesitaremos que el storage persista entre versiones.

Ahora queremos que las imagenes que subamos a los posts, se persistan entre deploys:

sudo mkdir /var/lib/dokku/data/storage/ghost

dokku storage:mount ghost /var/lib/dokku/data/storage/ghost:/app/content/images

dokku ps:restart ghost

Volver a hacer la misma prueba con la imagen, revertir el cambio en el README y re-desplegar viendo que la imgaen sigue viva.

ls /var/lib/dokku/data/storage/ghost

Esto mismo es lo que utilizo para guardar la base de datos SQLite en las apps sencillas que no necesitan motor de base de datos siempre en ejecución.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant