anúncios

terça-feira, 19 de julho de 2022

Conhecendo o framework Lowdefy

O que é Lowdefy?

Lowdefy é um framework Low-Code para desenvolver aplicações web, paineis administrativo, Dashboards e aplicações CRUD de forma fácil e rápida, através de arquivo YAML.

Instalação e Configuração do Lowdefy no ambiente Docker

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker Compose no Linux (qualquer distro) ou Instalando Docker no Windows 10

Dockerfile

$ curl -LO https://raw.githubusercontent.com/lowdefy/lowdefy-example-docker/main/config-in-image/Dockerfile

Criar o arquivo .env com as variáveis LOWDEFY_SERVER_BASE_PATH, LOWDEFY_SERVER_BUILD_DIRECTORY, LOWDEFY_SERVER_PUBLIC_DIRECTORY, LOWDEFY_SERVER_PORT

LOWDEFY_SERVER_BASE_PATH: É um identificado do servidor que foi instalado o Lowdefy. http://IP/<base-path>/<page-id> ao invés do default http://IP/<page-id>

LOWDEFY_SERVER_BUILD_DIRECTORY: É o diretório de configuração do Lowdefy. O default é ./build ou /home/nome/lowdefy/build.

LOWDEFY_SERVER_PUBLIC_DIRECTORY: É o diretório público, onde fica as páginas estática. O default é ./public ou /home/nome/lowdefy/public.

LOWDEFY_SERVER_PORT: É a porta utilizada no servidor. Por default é a porta 3000.

Criar o arquivo .dockerignore com o conteúdo abaixo:

.lowdefy/**
.env

Buildar a imagem no Dockerfile

$ docker build -t <tagNomeQualquer> .

Subir o container da imagem buildada para testar

$ docker run -p 3000:3000 <tagNomeQualquer>

Acesse no browser http://localhost:3000

Uma vez testado, estando OK, pare o container e organizaremos no arquivo docker-compose.yml na imagem container criada anteriormente.

Arquivo docker-compose.yml

$ curl -LO https://raw.githubusercontent.com/lowdefy/lowdefy-example-docker/main/config-in-image/docker-compose.yaml

PS: Esteja atento na indentação do arquivo YAML e o arquivo Dockerfile deve estar no mesmo diretório do arquivo docker-compose.yml

$ docker-compose up -d

Aguarde subir o ambiente, após concluir, acesse no browser http://localhost:3000

Agora, escreve o arquivo YAML no mesmo diretório onde estão os arquivos Dockerfile e docker-compose.yml. Nesse arquivo YAML que criar corresponde a aplicação web por meio de parâmetros específicos, consulte a documentação para certificar para o seu uso.

Referências

https://lowdefy.com/

https://docs.lowdefy.com/tutorial-start

Feito!

segunda-feira, 18 de julho de 2022

Conhecendo a ferramenta Low-Code Saltcorn

O que é Saltcorn?

Saltcorn é uma plataforma Low-Code e No-Code, de código aberto para construir aplicações web com base inicial do banco de dados. Assim as telas do sistema é construída por meio de drag-and-drop.

Pode utilizar o cloud já hospedado, sendo que a sua aplicação ficará no subdomínio da Saltcorn, mas pode instalar na sua máquina ou no seu servidor.

Recomendo instalar o Saltcorn no ambiente Docker, por ser mais simples e rápido.

Instalação e configuração do Saltcorn no ambiente Docker

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker Compose no Linux (qualquer distro) ou Instalando Docker no Windows 10

Arquivo docker-compose.yml

$ curl -LO https://raw.githubusercontent.com/saltcorn/saltcorn/master/deploy/examples/test/docker-compose.yml

Arquivo .env

$ curl -LO https://raw.githubusercontent.com/saltcorn/saltcorn/master/deploy/examples/test/.env

Altere o conteúdo do arquivo .env na variável SALTCORN_SECRET por uma string base64.

$ echo "UmaPalavraQualquer" | base64

Coloque o resultado gerado do comando acima na variável SALTCORN_SECRET no arquivo .env

$ docker-compose up -d

Aguarde subir o ambiente, após concluir, acesse no browser http://IP:3000

Pronto, agora faça os seus testes de criação de uma aplicação web com o Saltcorn na técnica Low-Code e Now-Code.

Referências

https://saltcorn.com/

Feito!

sábado, 16 de julho de 2022

Conhecendo o Appsmith

O que é Appsmith?

Appsmith é uma plataforma Low-Code e Now-Code, de código aberto para construir aplicações web, como Dashboards, Paineis Administrativos e muitos outros, de forma 10x mais rápido do que no tradicional.

Pode utilizar no cloud já hospedado com plano gratuito e premium, mas como também pode instalar na sua máquina ou no seu servidor.

Recomendo instalar o Appsmith no ambiente Docker, por ser mais simples e rápido.

Tem suporte de integrações aos bancos relacionais e noSQL (não relacionais), como também outras integrações como Elasticsearch, planilha do Google e API REST.

Instalação e configuração do Appsmith no ambiente Docker

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker Compose no Linux (qualquer distro) ou Instalando Docker no Windows 10

Arquivo docker-compose.yml

$ curl -LO https://raw.githubusercontent.com/appsmithorg/appsmith-docs/v1.3/.gitbook/assets/docker-compose.yml

$ docker-compose up -d

Aguarde subir o ambiente, após concluir, acesse no browser http://IP ou https://seudominio.com

Pronto, agora faça os seus testes de criação de uma aplicação web com Appsmith com a técnica Low-Code e Now-Code.

Referências

https://www.appsmith.com/

Feito!

sexta-feira, 15 de julho de 2022

Conhecendo o Tooljet

O que é Tooljet?

Tooljet é plataforma Low-Code e No-Code para criação de aplicações web em JavaScript.

O Tooljet pode utilizar no cloud já hospedado com plano gratuito e premium, mas como é de código aberto, é possível executar na sua máquina local ou no seu próprio servidor.

Recomendo instalar o Tooljet no ambiente Docker, por ser mais simples e rápido.

Tem suporte a integrações aos SGBDs relacionais e noSQL (não relacionais). Também outras integrações como o Elastisearch, Planilha do Google e API REST.

Instalação e configuração do Tooljet no ambiente Docker

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker Compose no Linux (qualquer distro) ou Instalando Docker no Windows 10

Arquivo docker-compose.yml com o SGBD PostgreSQL

$ curl -LO https://raw.githubusercontent.com/ToolJet/ToolJet/main/deploy/docker/docker-compose-postgres.yaml

Renomear o arquivo para docker-compose.yml

$ mv docker-compose-postgres.yaml docker-compose.yaml

Criar o diretório para o volume do banco de dados

$ mkdir postgres_data

Arquivo .env de exemplo com as parametrizações

$ curl -LO https://raw.githubusercontent.com/ToolJet/ToolJet/main/deploy/docker/.env.example

Renomear o arquivo para .env

$ mv .env.example .env

Adicionar no arquivo .env o endereço IP ou o domínio do servidor na variável TOOLJET_HOST

Exemplo:

TOOLJET_HOST=IP_SERVIDOR

OU

TOOLJET_HOST=https://seudominio.com
$ docker-compose up -d

Aguarde subir o ambiente, após concluir, execute os seeds de dados iniciais para o funcionamento do sistema.

$ docker-compose run server npm db:seed

As credenciais de acesso por padrão são: dev@tooljet.io/password

Acesse no browser pelo IP ou seu domínio que definiu no arquivo .env em TOOLJET_HOST, que corresponde ao seu servidor.

Referências

https://www.tooljet.com/

Feito!

quinta-feira, 14 de julho de 2022

Executando o Kubernetes na máquina local com o Kind

O presente post, é explicar o que é Kubernetes e os procedimentos de instalação e configuração da ferramenta Kind que utiliza containers Docker e assim simular um cluster Kubernetes local.

O que é Kubernetes e para que serve?

Kubernetes ou "K8s" é uma ferramenta de orquestração de conteiners open source que automatiza a implantação, o dimensionamento e a gestão de aplicações em conteiners. Foi originalmente projetado pelo Google e agora é mantido pela Cloud Native Computing Foundation.

Instalando e configurando o Kind

Como o Kind utiliza o Docker, logo precisa ter o Docker instalado, caso ainda não tenha, segue o procedimento para instalar o Docker em qualquer distro GNU/Linux ou WSL2 no Windows 10/11.

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

Adicionar o usuário logado no grupo docker

Para que possa ser executados comandos Docker com usuário regular, é necessário adicionar no grupo docker.

$ sudo usermod -aG docker $(whoami)

Até a data de publicação deste post, a versão corrente do Kind é 0.14.0 e do Go é 1.17. Em stableVersion, substitua pela versão corrente, conforme a data que estiver seguindo este tutorial.

Antes é necessário instalar a linguagem Go para poder seguir os procedimentos seguintes na instalação do Kind.

PS: Escolhe uma das duas formas para instalar o Kind.

Instalando Kind via binário


$ curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.14.0/kind-linux-amd64
$ chmod +x ./kind
$ mv ./kind /opt/kind

Instalando Kind via Go


$ curl https://dl.google.com/go/go1.17.7.linux-amd64.tar.gz
$ tar -xvf go1.17.7.linux-amd64.tar.gz
$ sudo mv go /usr/local

Criar a variável de ambiente GOROOT e adicionar no PATH

$ export GOROOT=/usr/local/go
$ export GOPATH=$HOME/Projetos
$ export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

Feche e abre novamente o terminal e digite go version

$ go install sigs.k8s.io/kind@{{< stableVersion >}}
$ go install sigs.k8s.io/kind@v0.14.0
$ sudo chmod +x ./kind && sudo mv ./kind /usr/local/bin/

Criar o cluster


$ kind create cluster --name
$ kubectl cluster-info --context kind-<nome-cluster>

Listar os clusters criados

$ kind get nodes

Deleter o cluster criado

$ kind delete <nome-cluster>

Instalação do Kubectl


Para utilizar o kubectl, execute os procedimentos abaixo:

$ curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
$ chmod +x kubectl && sudo mv kubectl /usr/local/bin/
$ kubectl get nodes

Criar o arquivo kind.yml para criar os clusters Kubernetes

$ vim kind.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1.14.0

nodes:
 - role: controle-plane
 - role: worker
 - role: worker
 - role: worker
 - role: worker
$ kind create cluster --name <nome-cluster> --config=kind.yml

Listar os clusters

$ kubectl get nodes

Exemplo prático de execução do Rabbitmq no Kubernetes na máquina local

Criar o arquivo manifest.yml do Rabbitmq de exemplo

$ vim manifest.yml
applications:
- name: rabbitmq
  memory: 256M
  instances: 2
  path: .

Executar o arquivo manifest.yml

$ kubectl apply -f rabbitmq.yml

Verificar a execução

$ kubectl get all

Fazer o redirecionamento de porta para acessar no browser

$ kubectl port-forward service/rabbitmq-service 15672

Acesse no browser http://localhost:15672 acessar a tela do Rabbitmq

Para quem ainda não sabe, o Rabbitmq é uma ferramenta de mensageria de código aberto, bastante utilizada em microserviços.

Referências

https://kind.sigs.k8s.io/

https://kubernetes.io/docs/tutorials/stateless-application/guestbook/

Feito!

quarta-feira, 13 de julho de 2022

Configurando backup do diretório local para Dropbox

O presente post, é explicar a configuração do Rclone e sincronismo com o Dropbox.

O Rclone é uma ferramenta de linha de comando gratuito e de código aberto para sincronizar arquivos e diretórios de seu computador para serviços de armazenamento em nuvem, como por exemplo: Amazon Storage S3, Google Drive, Dropbox, Nextcloud, Microsoft OneDrive, Digital Ocean Spaces, Mega e muitos outros.

Instalando o Rclone via script no GNU/Linux, FreeBSD, macOS


$ curl https://rclone.org/install.sh | sudo bash

Configurando a sincronização do Rclone com o Dropbox


$ rclone config
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> 

Tecle n (para iniciar uma nova configuração e digite um nome de sua preferencia para o cloud, no meu caso digitei bkp_dropbox).

name> bkp_dropbox

Digite o número correspondente ao Dropbox

Storage> 
Dropbox App Key - leave blank normally.
app_key>
Dropbox App Secret - leave blank normally.
app_secret>
Remote config
Please visit:

Acesse o seu Dropbox e pegue a URL com o seu cliente ID (token), como demonstrado abaixo.

https://www.dropbox.com/1/oauth2/authorize?client_id=XXXXXXXXXXXXXXX&response_type=code

If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth Log in and authorize rclone for access Waiting for code...

Autorizando Rclone no DropBox

Realizar Tunelamento ssh para porta 53682 para pegar o código do DropBox

$ ssh root@IP -D 53682

Configurar Proxy

Adicionar o IP e porta 53682 na configuração de Proxy do browser.

Servidor Socks: localhost 53682

No broser acesse http://localhost:53682

Volta ao terminal na aba que estava configurando o Rclone

--------------------
[remote]
app_key =
app_secret =
token = 
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y

Confirme com y

Verificando Arquivos


Listar arquivos da raiz

Aaltere remote para o nome cadastrado, nesse tutorial: bkp_dropbox.

rclone lsd remote:

Listar arquivos da pasta corrente

rclone ls remote:

Copiar arquivos

Altere o nome do diretório que criou no Dropbox no sincronismo, nesse tutorial: backup.

rclone copy /home (Origem) remote:backup (Destino)

Sincronizar

Nesse caso, irá sincronizar o diretório /home da máquina para Dropbox. Altere o diretório origem que deseja sincronizar com Dropbox.

rclone sync source:/home dest:/backup/

Ajuda

Lista de comandos do Rclone, verifique em: https://rclone.org/commands/


Documentacao do Rclone

Para saber mais sobre o Rclone, verfique em: https://rclone.org/docs/

Sincronismo automático por meio do script Shell via crontab

Para facilitar vamos criar os scripts abaixo com permissão 755

Para Backup
$ vim /opt/backup.sh
echo "Sync do computador para a nuvem - Upload"
echo "*** Sincronizando do computador para a nuvem - UP ***" >> /var/log/rclone-`date +%d-%m-%Y`.log
rclone sync /mnt/backup/ bkp_dropbox:/backup/ --log-file=/var/log/rclone-`date +%d-%m-%Y`.log
echo "====================================" >> /var/log/rclone-`date +%d-%m-%Y`.log


Para Restaurar
$ vim /opt/restaurar.sh
echo "Sync da nuvem para o computador - Download"
echo "*** Sincronizando da nuvem para o computador - DOWN ***" >> /var/log/rclone-`date +%d-%m-%Y`.log
rclone -v sync bkp_dropbox:/backup/ /mnt/backup/ --log-file=/var/log/rclone-`date +%d-%m-%Y`.log
echo "====================================" >> /var/log/rclone-`date +%d-%m-%Y`.log

Para agendar o backup no crontab:

Nesse caso, será agendado o backup todos os dias às 23:00 hrs

$ crontab -e
00 23 * * * /opt/backup.sh

Feito!

sexta-feira, 8 de julho de 2022

Conhecendo a plataforma ERP Odoo

O objetivo deste post, é explicar os procedimentos de instalação e configuração do Odoo no ambiente Docker.

Odoo é um Sistema de Gestão Empresarial (ERP) que você precisa para ajudar a administrar sua empresa e dispõe aplicativos integrados, como por exemplo CRM. Além disso, é open source com licença GNU/GPLv3.

Instalação e Configuração

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker Compose no Linux (qualquer distro) ou Instalando Docker no Windows 10

$ mkdir $HOME/odoo
$ cd $HOME/odoo
$ curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-odoo/master/docker-compose.yml > docker-compose.yml

PS: Para utilizar no servidor de produção, é recomendado é recomendado alterar a variável ALLOW_EMPTY_PASSWORD de "yes" para "no" e definir um password seguro para o SGBD PostgreSQL utilizado no Odoo e o usuário administrador de acesso ao Odoo.

Adicionar as variáveis ODOO_EMAIL e ODOO_PASSWORD para um nome de usuário e password que irá gerenciar o Odoo.

$ docker-compose up -d

Aguarde subir o ambiente, após concluir, abre o browser e acesse http://localhost

No primeiro acesso, o username/password default são: user@example.com/bitnami. Caso tenha alterado o username/password default no arquivo docker-compose.yml, então utilize o que você definiu.

Agora pode experimentar os benefícios do ERP Odoo.

Feito!

quinta-feira, 7 de julho de 2022

Instalando e Configurando o SonarQube no ambiente Docker

O objetivo deste post, é explicar os procedimentos de instalação e configuração do SonarQube no ambiente Docker.

O que é SonarQube?

SonarQube é um software open-source que se propõe a ser a central de qualidade do seu código-fonte, lhe possibilitando o controle sobre um grande número de métricas de software, e ainda apontando uma série de possíveis bugs.

Instalação e configuração

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker Compose no Linux (qualquer distro) ou Instalando Docker no Windows 10

$ mkdir $HOME/sonarqube
$ cd $HOME/sonarqube

Executar no HOST antes

Para que o nó do Elastiscsearch seja inicializado com sucesso, pois o SonarQube utiliza o Elasticsearch na indexação nas buscas.

Para verificar a vm.max_map_count atual, execute o seguinte comando:

$ cat /proc/sys/vm/max_map_count

Se a contagem de mapas não for 262144, siga estas etapas:

1. Atualize o arquivo /etc/sysctl.conf com o seguinte valor: vm.max_map_count=262144

2. Execute o comando a seguir para aplicar as alterações sem reiniciar o nó.
$ sudo sysctl -q -w vm.max_map_count=262144

$ curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-sonarqube/master/docker-compose.yml > docker-compose.yml

PS: Para utilizar no servidor de produção, é recomendado alterar a variável ALLOW_EMPTY_PASSWORD de "yes" para "no" e definir um password seguro para o SGBD PostgreSQL utilizado no SonarQube e o usuário administrador de acesso ao SonarQube.

Adicionar as variáveis SONARQUBE_USERNAME e SONARQUBE_PASSWORD para um nome de usuário e password que irá gerenciar o SonarQube.

$ docker-compose up -d

Aguarde subir o ambiente, após concluir, abre o browser e acesse http://localhost

No primeiro acesso, o username/password default são: admin/bitnami. Caso tenha alterado o username/password default no arquivo docker-compose.yml, então utilize o que você definiu.

Após o acesso do SonarQube, pode inserir as métricas de análise do código para o seu projeto e integrar com o SonarLint na IDE que estiver utilizando no desenvolvimento do seu projeto, também no CI/CD (Continuos Integrations/Continuos Delivery).

O que é CI/CD?

CI/CD (Continuous Integration/Continuous Delivery), é um método para entregar aplicações com frequência aos clientes. Para isso, é aplicada a automação nas etapas do desenvolvimento de aplicações.

Exemplos de ferramentas que fazem CI/CD: Jenkins, Bamboo, GitHub Actions, CircleCI.

Utilize a ferramenta CI/CD a sua escolha para o seu projeto. É importante ressaltar que essas ferramentas de CI/CD integram com o Git com as plataformas GitHub, Bitbucket e Gitlab.

Feito!

terça-feira, 5 de julho de 2022

Conhecendo o Budibase

O que é Budibase?

Budibase é uma plataforma No-Code e Low-Code open source. Devido os termos No-Code e o Low-Code, tem sido utilizados em grandes empresas por causa da agilidade proporcionada no desenvolvimento de soluções internas.

Com o Budibase, por ser open source, pode instalar na sua máquina ou servidor, diretamente ou containers Docker.

Recomendo instalar o Budibase no ambiente Docker, por ser mais simples e rápido.

Também pode utilizar o Budibase no cloud já hospedado com a sua conta do Google.

Tem suporte aos SGBDs relacionais e noSQL (não relacionais).

SGBDs relacionais: MySQL, PostgreSQL, MS SQL Server, OracleDB.

SGBDs noSQL: MongoDB, CouchDB, DynamoDB, ArangoDB.

Entre outras integrações como o Elasticsearch e API REST.

Instalação e configuração do Budibase no ambiente Docker

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker Compose no Linux (qualquer distro) ou Instalando Docker no Windows 10

Arquivo docker-compose.yml

$ curl -sSL https://raw.githubusercontent.com/Budibase/budibase/master/hosting/docker-compose.yaml > docker-compose.yaml

Arquivo .env com as parametrizações

$ curl -sSL https://raw.githubusercontent.com/Budibase/budibase/master/hosting/.env > .env

É recomendado alterar o conteúdo das variáveis no arquivo .env, pois são de credenciais integradas na plataforma Budibase.

$ docker-compose up -d

Aguarde subir o ambiente, após concluir, abre o browser e acesse http://localhost:10000

Crie uma conta de admin e comece a utilizar a plataforma Budibase na sua máquina ou servidor próprio.

Referências

https://budibase.com

Feito!

sexta-feira, 1 de julho de 2022

Conhecendo o projeto Windows XP Delta Edition

O Windows XP marcou época, fazendo parte da vida digital de milhões de pessoas, especialmente na primeira década dos anos 2000. Até hoje muita gente venera o sistema operacional da Microsoft como um dos melhores já lançados, se não, o melhor o Windows da história. Talvez por este motivo as pessoas continue revitalizando o saudoso Windows XP até os dias atuais, , mas será que vale a pena usar um sistema operacional com suporte descontinuado?

Depende, se você ainda tem computador antigo, pode testar o Windows XP Delta Edition, mas por sua conta em risco, antes é recomendado testar em máquina virtual com algum dos hypervisores, tais como: VirtualBox, VMWare, Hyper-V ou KVM.

Referências

https://xpdelta.weebly.com/

Feito!