Saltar al contenido principal

CKAN: Instalación y configuración

Clonar y configurar .env

El sitio se configura usando variables de entorno que puedes establecer en el archivo .env.

  1. Clonar proyecto

    cd /ruta/mi/proyecto
    git clone https://github.com/mjanez/ckan-docker.git & cd ckan-docker
  2. Copia la plantilla .env.example y modifica el .env resultante para adaptarlo a tus necesidades.

    cp .env.ejemplo .env

    Modify the .env variables as needed:

    # Host Ports
    CKAN_PORT_HOST=5000
    NGINX_PORT_HOST=81
    NGINX_SSLPORT_HOST=8443
    APACHE_PORT_HOST=81
    PYCSW_PORT_HOST=8000

    ...

    #NGINX/APACHE
    ## Comprueba CKAN__ROOT_PATH y CKANEXT__DCAT__BASE_URI y CKANEXT__SCHEMINGDCAT_GEOMETADATA_BASE_URI. Si no necesita utilizar ubicaciones de dominio, es mejor utilizar la configuración de nginx. Dejar en blanco o utilizar la raíz `/`.
    PROXY_SERVER_NAME=localhost
    PROXY_CKAN_LOCATION=/catalog
    PROXY_PYCSW_LOCATION=/csw

    ...

    # CKAN_SITE_URL = http:/ o https:/ + PROXY_SERVER_NAME. Opcionalmente el APACHE_HOST_PORT si es diferente de 80
    CKAN_SITE_URL=http://localhost:81
    CKAN__ROOT_PATH=/catalog/{{LANG}}
    CKAN_PORT=5000
    CKAN__FAVICON=/catalog/base/images/ckan.ico
    CKAN__SITE_LOGO=/images/default/ckan-logo.png
    warning

    Usando los valores por defecto en el fichero .env obtendrá una instancia de CKAN funcionando. Hay un usuario sysadmin creado por defecto con los valores definidos en CKAN_SYSADMIN_NAME y CKAN_SYSADMIN_PASSWORD (ckan_admin y test1234 por defecto). Todos los ennvars con API_TOKEN se regeneran automáticamente cuando se carga CKAN, no es necesario editarlos.

    **Esto debe ser obviamente cambiado antes de ejecutar esta configuración como una instancia pública de CKAN.

Ahora está listo para proceder con el despliegue.

Instalar (compilar y ejecutar) CKAN más dependencias

Modo base

Utilice este modo si es un mantenedor y no va a realizar cambios en el código de CKAN o en las extensiones de CKAN.

  1. Construye las imágenes:
    docker compose build 
  2. Arranca los contenedores:
    docker compose up

Esto iniciará los contenedores en la ventana actual. Por defecto los contenedores se registrarán directamente en esta ventana con cada contenedor utilizando un color diferente. También puede utilizar la opción -d "detach mode" es decir: docker compose up -d si desea utilizar la ventana actual para otra cosa. para otra cosa.

tip
  • O construir y desplegar hasta los contenedores:
    docker compose up -d --build
  • O utiliza la versión con Apache HTTP Web Server:
    docker compose -f docker-compose.apache.yml up -d --build
Aprende más sobre la configuración de este ckan-docker

Modo rápido

Si sólo quieres probar el paquete y ver la funcionalidad general de la plataforma, puedes utilizar la imagen ckan-docker del registro de contenedores de Github:

# Edita los envvars en el .env a tu gusto e inicia los contenedores.
docker compose -f docker-compose.ghcr.yml up -d --build
info

Descargará la imagen pre-construida y desplegará todos los contenedores. Recuerda usar tu propio dominio cambiando localhost en el archivo .env.

Modo Desarrollo

Utilice este modo si está realizando cambios en el código de CKAN y creando nuevas extensiones o realizando cambios en el código de extensiones existentes. Este modo también utiliza el archivo .env para las opciones de configuración.

Para desarrollar extensiones locales utilice el archivo docker compose.dev.yml:

Para construir las imágenes:

docker compose -f docker-compose.dev.yml build

Para poner en marcha los contenedores:

docker compose -f docker-compose.dev.yml up
tip

Consulte CKAN images para obtener más detalles sobre lo que ocurre cuando se utiliza el modo de desarrollo.

Comprobar que los contenedores están en marcha

Al final de la secuencia de inicio de contenedores debería haber 6 contenedores ejecutándose.

Después de este paso, CKAN debería estar ejecutándose en http://{PROXY_SERVER_NAME}/{PROXY_CKAN_LOCATION} y ckan-pycsw en http://{PROXY_SERVER_NAME}/{PROXY_PYCSW_LOCATION}, es decir: http://localhost/catalog o http://localhost/csw.

CONTAINER IDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
0217537f717eckan-docker-nginx/ckan-docker-apache/docker-entrypoint.…6 minutes agoUp 4 minutes80/tcp,0.0.0.0:80->80/tcp,0.0.0.0:8443->443/tcpckan-docker-nginx-1/ckan-docker-apache-1
7b06ab2e060ackan-docker-ckan/srv/app/start_ckan…6 minutes agoUp 5 minutes (healthy)0.0.0.0:5000->5000/tcpckan-docker-ckan-1
1b8d9789c29aredis:7-alpinedocker-entrypoint.s…6 minutes agoUp 4 minutes (healthy)6379/tcpckan-docker-redis-1
7f162741254dckan/ckan-solr:2.9-solr9-spatialdocker-entrypoint.s…6 minutes agoUp 4 minutes (healthy)8983/tcpckan-docker-solr-1
2cdd25cea0deckan-docker-dbdocker-entrypoint.s…6 minutes agoUp 4 minutes (healthy)5432/tcpckan-docker-db-1
9cdj25dae6grckan-docker-pycswdocker-entrypoint.s…6 minutes agoUp 4 minutes (healthy)8000/tcpckan-docker-pycsw-1