Cloudlog su Docker container

Visto che mi capita spesso di essere in viaggio e di non avere con me il mio PC che uso per i log, ho trovato un interessante progetto chiamato Cloudlog, un applicativo che gira nel browser e che consente di avere un programma di log sempre a portata di mano per ogni evenienza.

Per semplificare ulteriormente il lavoro ho deciso di istanziare un container Docker sul mio server locale in modo da averlo facilmente accessibile. La procedura è stata testata su Ubuntu server 22.04 con Portainer.

Prerequisiti

  • Ubuntu server installato (amd64 nel mio caso)
  • Portainer installato e funzionante

Creazione container MySQL

L’applicativo si basa su DB MySQL e abbiamo quindi bisogno di predisporre tale sistema, per semplificarci il lavoro installiamo sia MySQL che PHPmyAdmin.

Apriamo Portainer, selezioniamo il server su cui stiamo lavorando (nel caso ne abbiamo più di uno) e sulla sinistra andiamo nella sezione “Stacks”, qui dobbiamo creare un nuovo stack tramite “Add Stack” in alto a destra.

  • Nome: “mysql-phpmyadmin“,
  • Build method: Web Editor

Nel editor centrale incolliamo:

version: ‘3’
  services:
    db:
      image: mysql:5.7
      container_name: mysql
      environment:
        MYSQL_ROOT_PASSWORD: password-segreta
      ports:
        – “3306:3306”
      volumes:
        – dbdata:/var/lib/mysql
      restart: unless-stopped
    phpmyadmin:
      image: phpmyadmin/phpmyadmin
      container_name: phpmyadmin
      links:
        – db
      environment:
        PMA_HOST: db
        PMA_PORT: 3306
        PMA_ARBITRARY: 1
        PMA_USER: root
        PMA_PASSWORD: password-segreta
      restart: unless-stopped
      ports:
        – 8083:80
volumes:
  dbdata:

Ricordiamoci di sostituire “password-segreta” con una password sufficientemente robusta. Scorriamo verso il basso e selezioniamo “Deploy the stack”, dopo qualche secondo dovrebbe darci conferma dell’avvenuto deploy

Configurazione MySQL

Apriamo il WebBrowser e puntiamo a http://indirizzo:8083/ per trovarci davanti all’interfaccia di PHPmyAdmin, qui in alto a sinistra dobbiamo creare un nuovo database tramite il pulsante “Nuovo”.

  • Nome: cloudlog
  • Codifica: UTF-8_unicode_ci

Premiamo “Esegui” e il sistema dovrebbe darci conferma.

Ora andiamo in alto nel tab “Privilegi” e premiamo “Aggiungi account utente”, qui inseriamo username e password per interagire con il database (meglio se scegliamo una password complessa), in “Database per account utente” scegliamo “Garantisci tutti i privilegi per il database cloudlog” mentre in “Privilegi globali” controlliamo che sia tutto deselezionato

Creazione immagine Cloudlog

Dal menù di Portainer scegliamo il tab “Images” e poi “Build a new image”, qui inseriamo “cloudlog” come nome della immagine e nel editor centrale incolliamo

FROM php:7.4-apache
RUN apt-get update \
&& apt-get install -y git curl libxml2-dev libonig-dev
RUN docker-php-ext-install mysqli
#RUN docker-php-ext-install curl
RUN docker-php-ext-install mbstring
RUN docker-php-ext-install xml
#RUN docker-php-ext-install openssl
RUN touch /usr/local/etc/php/conf.d/uploads.ini \
&& echo “file_uploads = On” >> /usr/local/etc/php/conf.d/uploads.ini \
&& echo “memory_limit = 64M” >> /usr/local/etc/php/conf.d/uploads.ini \
&& echo “upload_max_filesize = 64M” >> /usr/local/etc/php/conf.d/uploads.ini \
&& echo “post_max_size = 64M” >> /usr/local/etc/php/conf.d/uploads.ini \
&& echo “max_execution_time = 60” >> /usr/local/etc/php/conf.d/uploads.ini
WORKDIR /var/www/html
RUN git clone https://github.com/magicbug/Cloudlog.git
RUN mv ./Cloudlog/* ./ \
&& rm -rf ./Cloudlog
RUN chown -R root:www-data ./application/config/ \
&& chown -R root:www-data ./application/logs/ \
&& chown -R root:www-data ./assets/qslcard/ \
&& chown -R root:www-data ./backup/ \
&& chown -R root:www-data ./updates/ \
&& chown -R root:www-data ./uploads/ \
&& chown -R root:www-data ./images/eqsl_card_images/ \
&& chown -R root:www-data ./assets/json/ \
&& chmod -R g+rw ./application/config/ \
&& chmod -R g+rw ./application/logs/ \
&& chmod -R g+rw ./assets/qslcard/ \
&& chmod -R g+rw ./backup/ \
&& chmod -R g+rw ./updates/ \
&& chmod -R g+rw ./uploads/ \
&& chmod -R g+rw ./images/eqsl_card_images/ \
&& chmod -R g+rw ./assets/json/

Scorriamo in basso e selezioniamo “Build the image”. La procedura potrebbe impiegare qualche minuto, cerchiamo di essere pazienti

Creazione stack Cloudlog

Torniamo nella sezione “Stack” di Portainer e aggiungiamo un nuovo Stack, impostiamo “cloudlog” come nome e nel editor incolliamo:

version: ‘3.4’

services:
cloudlog:
image: cloudlog
container_name: cloudlog
volumes:
– cloudlog-config:/var/www/html/application/config
– cloudlog-backup:/var/www/html/application/backup
– cloudlog-uploads:/var/www/html/application/uploads
ports:
– 8086:80
restart: unless-stopped

volumes:
cloudlog-config:
cloudlog-backup:
cloudlog-uploads:

Poi nella parte bassa selezioniamo “Build the stack”, dopo qualche istante dovrebbe ritornarci un messaggio di conferma

Configurazione di Cloudlog

Apriamo il WebBrowser all’indirizzo http://indirizzo:8086/install, qui assicuriamoci che in “Folder” non ci sia nulla e che l’indirizzo alla seconda riga corrisponda all’IP del nostro server. Nella sezione Database dovremo mettere come host l’indirizzo IP della nostra macchina e poi username e password che abbiamo creato in PHPmyAdmin, il nome del Database sarà “cloudlog”. Diamo “Invia” e attendiamo il messaggio di conferma.

Possiamo ora togliere “/install” dalla barra degli indirizzi e fare il login con:

  • User: m0abc
  • Pass: demo

Una volta fatto l’accesso spostiamoci in alto nel menù admin e in User Accounts creiamo un utente con il nostro nominativo, facciamo logout e login con il nuovo utente, torniamo nel menù degli utenti e assicuriamoci di eliminare “m0abc” dalla lista. Fatto!

Usare Cloudlog

Per il manuale di Cloudlog vi rimando al sito del creatore: https://github.com/magicbug/Cloudlog/wiki

Extra: script preconfezionati

Per velocizzare la procedura di setup ho preparato una repository apposita, le istruzioni sono all’interno:

https://github.com/iu2frl/CloudlogDocker

Post Disclaimer

Creative common license BY-NC_SA

Informazioni Importanti

Note generali: Le informazioni contenute in questo articolo sono di carattere informativo e rispecchiano le opinioni personali del autore. Tutte le guide nel sito vengono proposte "as it is" puramente a scopo didattico. L'utente che accetta di seguirne i passaggi si assume ogni responsabilità in caso di guasto/malfunzionamento o altro problema come conseguenza della modifica.

Link di affiliazione e contenuti promozionali: Nei post di iu2frl.it posso includere collegamenti a rivenditori. Posso ricevere una piccola commissione dal rivenditore se effettui un acquisto dopo aver fatto clic su uno di questi link. I post non sono espressamente sponsorizzati da rivenditori, editori, promotori o produttori, se non diversamente specificato chiaramente e tutte le decisioni editoriali sono prese esclusivamente dagli autori dei singoli articoli.

Contenuti riguardanti regolamenti e/o normative: Eventuali riferimenti a normative non costituiscono valore legale, si tratta di libere interpretazioni ed estratti di circolari corredate da eventuali commenti, si invitano tutti gli utenti a verificare la veridicità di tali informazioni sugli organi ufficiali di riferimento, nessuna colpa o responsabilità può essere data agli autori degli articoli.

Licenza di utilizzo: Tutti i contenuti vengono condivisi con licenza CC BY-NC-SA 4.0: Questa licenza consente ad altri di remixare, adattare e sviluppare i contenuti in modo non commerciale, purché accreditino l'autore originale e concedano in licenza le loro nuove creazioni con gli stessi termini. Per maggiori informazioni visitare il sito Creative Commons.

Important Informations

General notes: The information contained in this article is of an informative nature and reflects the personal opinions of the author. All the guides/tutorial on the website are offered "as it is" for educational purposes only. The user who agrees to follow the steps assumes all responsibility in case of failure/malfunctioning or other problem as a result of the modification.

Affiliate links and promotional products: In some posts of iu2frl.it I can include links to resellers. I can get a small commission from the reseller if you make a purchase after clicking on one of these links. The posts are not expressly sponsored by resellers, publishers, promoters or producers, unless otherwise clearly specified and all editorial decisions are made solely by the authors of the individual articles.

Contents about rules and laws: Some articles may contain portions or whole laws or rules regarding specific areas, these kind of content are meant to be indicative only, no responsability can be given to the authors. Always refer to official sources when looking for rules or laws.

Contents licenses: All the contents are published as CC BY-NC-SA 4.0: This license lets others remix, adapt, and build upon your work non-commercially, as long as they credit you and license their new creations under the identical terms.. For more informations please visit Creative Commons website.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *