Requisitos
Vagrant
App de máquinas virtuales, en mi caso Vmware Workstatition
Para el caso de Vmware necesitaremos el plugin vagrant de Vmware
Info
Descargando la box vagrant de Debian 12
Creamos la carpeta donde vayamos a contener nuestra MV y descargamos la Box, en mi caso Debian 12.
vagrant init generic/debian12
Preparando la box para funcionar directamente con #Docker
Esto no es necesario hacerlo en #Vagrant pero si lo dejamos ya preparado nos puede valer para futuras pruebas con un contenedor #Docker. Para ello modificamos el vagrantfile
# Modificar Vagrantfile
notepad .\Vagrantfile
El aspecto de mi Vagrantfile es este:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "generic/debian12"
config.vm.hostname = "Debian12conDocker"
config.vm.provider "vmware_desktop" do |vmware|
vmware.vmx["memsize"] = "4096"
vmware.vmx["numvcpus"] = "4"
end
config.vm.provision "shell", inline: <<-SHELL
apt update
# Add Docker's official GPG key:
apt install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
SHELL
end
Otra alternativa es con el plugin de vagrant-docker:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "generic/debian12"
config.vm.hostname = "Debian12conDockerPlug"
# require plugin https://github.com/leighmcculloch/vagrant-docker-compose
config.vagrant.plugins = "vagrant-docker-compose"
# install docker and docker-compose
config.vm.provision :docker
config.vm.provision :docker_compose
config.vm.provider "vmware_desktop" do |vmware|
vmware.vmx["memsize"] = "4096"
vmware.vmx["numvcpus"] = "4"
end
end
Creando la máquina virtual. El --debug es para ver por pantalla todo lo que va realizando.
vagrant up --provider=vmware_desktop --debug
Instalando Apache Superset 3
Primero entramos por ssh a nuestra MV recién creada.
vagrant sshEntramos como root
sudo suClonamos la última version del git de apache #superset
git clone https://github.com/apache/superset.gitEntramos en la carpeta
cd supersetY podemos arrancar la app. La primera vez tardará más porque tiene que descargar todos los contenedores:
docker compose upVeremos que tarda porque crea también una base de datos de ejemplos que es perfecto para empezar a cacharrear y ver como crea algunos gráficos y dashboards.
Una vez está todo ok podemos entrar con el navegador a través de http://[ipdelaMV]:8088 con user admin y password admin
Si quieres saber la ip puedes hacerlo con:
ip -4 a sA mi de primeras nunca me va la version 3. Así que os voy a poner las cosas que he cambiado.
Primero borramos los contenedores docker compose down -v
Generar SECRET_KEY
openssl rand -base64 42Añadimos este al final del documento docker/.env-non-dev
SUPERSET_SECRET_KEY=01N441iqyc7HALv82HshIMPYP+KVe7MiIXdb7xD6MDW0jnXdS94qM8W0
Para que funcione con SQL Server hay que añadir un fichero para que instale el driver. Para otros drivers consultar aquí
touch ./docker/requirements-local.txt
echo "pymssql" >> ./docker/requirements-local.txt
Lanzamos de nuevo los contenedores
docker compose -f docker-compose-non-dev.yml up -dPara ver los logs para ver como va:
docker compose -f docker-compose-non-dev.yml logs -fY ahora tras un rato que inicialice la base de datos con ejemplos y otras cosas ya podremos acceder a nuestro Apache Superset.
Ya puedes conectar con tu base de datos y empezar a hacer tus gráficas y dashboards con un programa open source.