Skip to content

Latest commit

 

History

History
executable file
·
151 lines (98 loc) · 6.78 KB

README.md

File metadata and controls

executable file
·
151 lines (98 loc) · 6.78 KB

CKAN Docker

El mismo CKAN de siempre pero.. bellamente dockerizado...:heart_eyes:


Indice:


Que es CKAN?

Comprehensive Knowledge Archive Network (CKAN) es una aplicación web de código abierto para el almacenamiento y la distribución de los datos, tales como hojas de cálculo y los contenidos de las bases de datos. Está inspirado en las capacidades de gestión de paquetes comunes para abrir sistemas operativos, como Linux, y está destinado a ser el "apt-get de Debian para los datos". Fuente: wikipedia

...Mas informacion sobre CKAN?... Obvio! Documentacion Oficial de CKAN

Que es DOCKER?

es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstracción y automatización de Virtualización a nivel de sistema operativo en Linux. Fuente: wikipedia

...Deseas saber mas sobre docker? Genial! Docker posee una documentacion excelente y podes verla aqui

Porque CKAN en Docker?

Porque SI! 😎... Nah! esta en la TODO-LIST!

Con que cuenta esta version de CKAN?

Features:

Prerequisitos:

DOCKER:

GIT TOOLS

(...All you need is Git...):

  • Windows: Descargar e Instalar desde:

      https://github.com/git-for-windows/git/releases/tag/v2.10.0.windows.1
    
  • Ubuntu/Debian:

      $ sudo su -c "apt-get -y install git-core"
    
  • RHEL/CentOS:

      $ yum update && yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
      $ yum install -y git-core
    
  • OSX:

      $ sudo port install git-core +svn +doc +bash_completion +gitweb
    

Instalacion y Ejecucion de CKAN

En funcion a la probable dificultad de implementacion e incluso, la cantidad de pasos a realizar para lograr un deploy existoso, existen dos formas de instalar esta distribución de CKAN. Si no tenes muchos conocimientos de CKAN, Docker o de administracion de servidores en general, muy posiblemente, deberias utilizar la instalacion Simplificada de CKAN, la cual, esta pensada para que en la menor cantidad de pasos y de manera sencilla, tengas un Portal de Datos Funciona (Y muy bello :D). Ahora si por ejemplo, ya conoces la plataforma, tenes experiencia con Docker o simplemente, queres entender como es que funciona esta implementacion, te sugiero que revises la Instalacion Avanzada de CKAN


Instalacion Simplificada de CKAN:

La idea detras de esta implementacion de CKAN, es que SOLO te encargues de tus datos, nada mas, por tanto, dependiendo de que OS usas, podes seleccionar un script de auto-deploy. La misma, te guiara casi de manera automatica por todo el proceso de instalacion realizando minimas preguntas e incluso "explicando" que se realiza que cada paso.

  • Ubuntu|Debian:

      sudo su -c "cd /tmp && git clone https://github.com/JoseSalgado1024/ckan_in_docker.git && cd /tmp/ckan_in_docker/auto-deploy/ && ./ubuntu-debian_auto-deploy.sh; rm -f -r /tmp/ckan_in_docker"
    
  • RHEL|CentOS:

      sudo su -c "cd /tmp && git clone https://github.com/JoseSalgado1024/ckan_in_docker.git && cd /tmp/ckan_in_docker/auto-deploy/ && ./rhel-centos_auto-deploy.sh; rm -f -r /tmp/ckan_in_docker"
    

Instalacion Avanzada de CKAN

Instalacion de CKAN con contenedores de Docker ya buildeados

_Para esta clase de instalacion, no es necesario clonar el repo, dado que usaremos contenedores alojados en [DockerHub](https://hub.docker.com/) y el proceso de instalacion se divide en seis pasos.
  • Instalacion de CKAN usando Dockerfiles

Para instalar y ejecutar CKAN-Docker, debemos seguir los siguientes pasos:

  • Paso 1: Clonar Repositorio. Es recomendable clonar el repo dentro de /tmp (o C:\temp en Windows X), dado que al finalizar la instalacion, no usaremos mas el repositorio.

      $ cd /tmp # en Linux, en Windows, usar cd C:\temp
      $ git clone https://github.com/JoseSalgado1024/ckan_in_docker.git
    
  • Paso 2: construir y lanzar el contenedor de PostgreSQL usando el Dockerfile hubicado en postgresql-img/.

      $ cd /tmp/ckan_in_docker/postgresql-img/
      $ docker build -t jsalgadowk/postgresql:latest .
      $ docker run -d  --name pg-ckan \
      	jsalgadowk/pg-ckan:latest
    
  • Paso 3: construir y lanzar el contenedor de Solr usando el Dockerfile hubicado en solr-img/.

      $ cd /tmp/ckan_in_docker/solr-img/ 
      $ docker build -t jsalgadowk/solr:latest .
      $ docker run -d  --name solr jsalgadowk/solr:latest
    
  • Paso 4: construir el contenedor de ckan usando el Dockerfile hubicado en ckan-img/.

      $ cd /tmp/ckan_in_docker/ckan-img
      $ docker build -t jsalgadowk/ckan:latest .
    
  • Paso 5: Correr contenedor de CKAN

      $ docker run -d \
      	--link pg-ckan:db \
      	--link solr:solr \
      	-p 80:80 \
      	-p 8800:8800 \
      	--name ckan \
      	jsalgadowk/ckan:latest
    
  • Paso 6(Opcional): Crear usuario administrador ckan_admin

      $ docker exec -it ckan \
      	/usr/lib/ckan/default/bin/paster --plugin=ckan sysadmin add ckan_admin \
      	-c /etc/ckan/default/production.ini