27/10/2024

Change Bookstack url and context

I love Bookstack, actually I think it’s one of the best wiki project existing.

It’s well documented, it works like charm, the developer is very active (and he’s also a very kind person, which has nothing to do with the software, but it’s always a pleasure interact with him) and it has very nice features:

  • a nice and responsive design
  • drafts autosave
  • MFA out of the box
  • diagrams.net integration

It also works perfectly fine in a docker container, technically the official project do not offer a container image, but there are two groups building them and they’re referred directly in the official documentation.

Recently I started to sort things out on my beloved Raspberry PI 5, in particular I’m moving services so I can reverse proxy them on a single Apache httpd instance (you know I still love Apache :D ), today I moved around Bookstack, in particulare I did two things:

  1. change Bookstack hostname (for example from https://site.domain.tld to https://newsite.domain.tld )
  2. make Bookstack work under a specific url context (for example https://site.domain.tld/bookstack instead of https://site.domain.tld ).

On my environment I’m using the LinuxServer.io docker image, so check the project site for details, and also I’m using docker compose, if you’re not familiar with it start using it for Reorx’s sake.

Backup

First of all take a damn backup, it’s mandatory.

Seriously I’m not joking.

Stop the containers

cd /data/docker/bookstack ; docker compose down

Backup files with a simple tar, restic, kopia, whatever you want, but DO IT!

cd /data/docker/ ; tar -cpzf /backup/bookstack-backup.tar.gz bookstack

Change Bookstack hostname

This process is documented on the Bookstack documentation (LINK), but still I decided to mention it because the procedure is a little bit different on a docker container, so it’s worth spent a few words about it.

First of all you have to change the APP_URL configuration variable, in case of a docker container it’s enough to change the environment variable on the docker-compose.yaml file, so open the file and change the variable to the new url

Now you must replace the old url from the database record with the new one using the bookstack:update-url command, in case of a docker container you must identify where’s the Laravel framework artisan file and launch it accordingly to the documentation.

docker exec -it bookstack php /app/www/artisan bookstack:update-url https://site.domain.tld https://newsite.domain.tld

After that clear the cache using

docker exec -it bookstack php /app/www/artisan cache:clear

Restart the docker container to change the environment variable you previously changed with the new url.

cd /data/docker/bookstack ; docker compose down ; docker compose up -d

Done, now your Bookstack instance should be reachable to the new url.

 

Change Bookstack root context

This change is a little bit tricky, because it involves some webserver changes.

First of all you must repeat the same process used for changing the url hostname of your Bookstack instance, this time including the context you want to use (for example /bookstack ).

Let’s quickly review the steps:

1) Change the APP_URL environment variable in the docker-compose.yaml (APP_URL=https://newsite.domain.tld/bookstack in this case)

2) Replace the url in the database using the bookstack:update-url

docker exec -it bookstack php /app/www/artisan bookstack:update-url https://newsite.domain.tld https://newsite.domain.tld/bookstack

3) Clear Bookstack cache

docker exec -it bookstack php /app/www/artisan cache:clear

4) Restart the docker container to change the environment variable you previously changed with the new url.

cd /data/docker/bookstack ; docker compose down ; docker compose up -d

Now you must review the webserver configuration inside your docker container, in case of the LinuxServer.io container there’s a nginx instance running inside the container, you can fine its configuration inside the /config/nginx/ directory inside the container.

If you followed the LinuxServer.io recommendations the /config directory should be a persistent volume (or a persistent path on your docker host), so any changes in the nginx configuration files should not be lost in case of a container restart.

In my case the config persistent volume is located in the /data/docker/bookstack/bookstack-config directory, so the nginx configuration is located in the file /data/docker/bookstack/bookstack-config/nginx/site-confs/default.conf.

Apply this patch

wget https://tasslehoff.burrfoot.it/pub/bookstack-nginx.patch ; \
patch /data/docker/bookstack/bookstack-config/nginx/site-confs/default.conf < bookstack-nginx.patch

Reload nginx configuration

docker exec -it bookstack nginx -s reload

Done, now your Bookstack instance should work at the new url https://newsite.domain.tld/bookstack

29/01/2008

E ora samba!!!

Samba su iPod Touch, SAPEVATELO!!! :D

samba on iTouch

 

29/01/2008

iPod Touch part II

Uhuhuhuhuhuhhuh ora si gode forte :)
Il pupo è arrivato da una settimana, una settimana in cui ho letteralmente stabilito il mio nuovo personale record negativo in fatto di ore di sonno.

Di cosa sto parlando?!?! Ma daaaaiiii l'avevo già anticipato, si tratta dell'iPod Touch!!! :D

Cercate di capire la situazione, sono esaltato come un cojote afghano, sono reduce da una settimana di stress totale, sto sperimentando una quantità di roba che non avrei mai pensato, in più ieri sera mi è pure andato alle cozze il tanto atteso upgrade del firmware alla versione 1.1.3+jailbrake.

Per chi non lo sapesse l'iPod Touch apparentemente è un player multimediale con annessa scheda di rete wireless + browser web (Safari); capite bene che se fosse solo questo non mi sarebbe passata nemmeno per l'anticamera del cervello l'idea di sganciare più di 200 € per questo oggetto.
Esiste infatti una fantastica procedura di "sblocco" dell'iTouch che permette di installare una quantità mostruosa di applicazioni, tali applicazioni vanno dal server e client SSH al client VNC, dalle BSD utils ad un comodo Wifi Stumbler, dallo ScummVM alle DNS utils, compresa una tonnellata di giochi, puzzle ed enigmi che utilizzano gli stupefacenti sensori di movimento integrati nell'iTouch.

Insomma, si tratta di un vero e proprio MID, con cui fare di TUTTO

Io sto cominciando a scoprire questo mondo nuovo e fantastico, ogni tanto vi lancerò qualche "ping", chissà che qualcuno non si kenderizzi e decida di provarlo :)

Tanti saluti dal KenderPod

PS: ebbene si, questo post è stato creato con l'iTouch comodamente sparanzato a letto, fiko no?

15/01/2008

iPod Touch

iPod TouchEbbene si, la scimmia ha vinto, peggio di un Borg, peggio delle bocce di Puma Swede, la scimmia mi ha attanagliato fin dalle prime discussioni lette in rete e ora ho ceduto…
Ho dato luce verde ad un carissimo amico ora in Giappone per lavoro, a breve entrerò in possesso del mio primo dispositivo Apple, un iPod Touch :)

Sono sempre stato piuttosto refrattario al fenomeno iPod, questo perchè sono sinceramente poco interessato all'ascolto di musica negli spostamenti casa-lavoro; quei 40 minuti medi di treno che dividono l'amato paesiello dalla amata/odiata Milano li ho sempre dedicati alla lettura (cosa che altrimenti non riuscirei a fare al di fuori di questa breve finestra temporale), o in alternativa al recupero di preziosi minuti di sonno :)
D'altra parte poi devo ammettere di essere davvero infastidito dal fenomeno "cuffiette", sembra di vivere in mezzo a una popolazione di zombie, non vi dico poi quando l'ascolto è "condiviso", ovvero quando chi ascolta musica con i suddetti gingilli lo fa a volume da festival metal, fregandosene beatamente degli altri tapini che siedono nella stessa carrozza…
Recentemente però ho scoperto il mondo dell'intrattenimento video portatile (alla buon'ora direte voi…), e tra una puntata di report e un telefilm, sto trascorrendo diversamente quella fatidica "ora e 20" quotidiana.

Da qui all'iTouch il passo è stato breve, il dispositivo è comodissimo, l'interfaccia è geniale, con qualche accorgimento si riesce pure a installare di tutto, rendendolo una vera e propria internet tablet grazie all'ottimo browser e alla scheda di rete wireless integrata.
Naturalmente non mancano i difetti (batteria integrata e inesistente upgradabilità dello spazio su disco), da quanto ho avuto modo di verificare però il bilancio è estremamente positivo, ragion per cui a breve aspettatevi ulteriori news per un mondo sempre più nerd :D