Prezados leitores,

Neste post irei apresentar como você pode instalar o GeoNode via Docker em uma máquina rodando o Ubuntu Linux 22.04. Ao final dessa instalação você estará com uma instância do GeoNode executando no seu localhost.

Sem enrolação, vamos aos passos:

1. Instalar os pacotes do S.O

> sudo add-apt-repository universe
> sudo apt-get update -y
> sudo apt-get install -y git-core git-buildpackage debhelper devscripts python3.10-dev python3.10-venv virtualenvwrapper
> sudo apt-get install -y apt-transport-https ca-certificates curl lsb-release gnupg gnupg-agent software-properties-common vim

2. Adicionar os repositórios do Docker

> sudo mkdir -p /etc/apt/keyrings
> curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
> sudo chmod a+r /etc/apt/keyrings/docker.gpg
> echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3. Adicionar os pacotes do Docker

> sudo apt-get update -y
> sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose
> sudo apt autoremove --purge
> sudo reboot

4. Adicionar seu usuário ao grupo docker

> sudo usermod -aG docker ${USER}
> su ${USER}

5. Preparar o ambiente

> sudo mkdir -p /opt/geonode_custom/
> sudo usermod -a -G www-data geonode
> sudo chown -Rf geonode:www-data /opt/geonode_custom/
> sudo chmod -Rf 775 /opt/geonode_custom/

Dica: Se o nome do seu usuário não for geonode, substitua pelo nome do seu usuário na linha 2 e 3 acima.

6. Clonar o código fonte

> cd /opt/geonode_custom/
> git clone https://github.com/GeoNode/geonode-project.git -b 4.4.2

Dica: É importante ressaltar que o número que você passar após o -b é na realidade a versão que você quer baixar/instalar do GeoNode

7. Criar uma instância do Django

> source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
> mkvirtualenv --python=/usr/bin/python3 my_geonode
> pip install Django==3.2.13
> django-admin startproject --template=./geonode-project -e py,sh,md,rst,json,yml,ini,env,sample,properties -n monitoring-cron -n Dockerfile my_geonode
> cd /opt/geonode_custom/my_geonode

OBS: Chamaremos nossa instância de my_geonode. Você pode alterar o nome conforme desejar.

8. Criar o arquivo .env

> python create-envfile.py

9. Construa os containers

> docker-compose -f docker-compose.yml build --no-cache

10. Finalmente execute o container

> docker-compose -f docker-compose.yml up -d

Agora é só aguardar todos os containers aparecerem como done, e você já pode acessar o GeoNode no seu navegador digitando http://localhost/

Se você quiser mais detalhes sobre a instalação basta acessar a documentação oficial do GeoNode, clicando aqui.