Hack de Overheid!

Data

OCD API met Docker.io

Voor wie het nog niet doorhad: Het is open cultuur data dat de klok slaat. Met een gloednieuwe API kan je nu nog makkelijker aan de toekomst van open cultuur data werken. Hamvraag: Hoe?

Installatie Docker omgeving

De OCD API draait -naast pythonenv – volledig op Docker.io. Dit is een technoligie gebaseerd op containers. Dit lijkt op virtualisatie, maar dat is het niet. Een container draait native, maar ziet de rest van het gast OS niet. Het lijkt een beetje op chroot en jails. Het presteert als bijna bare metal, en uitrollen is een eitje.

Je kan Docker.io installeren op een linux systeem (link), maar ook op OSX (link). Op Windows, maar ook op andere platformen kan je middels Virtualbox, of een andere virtualisatie techniek een linux gebaseerd OS installeren waarop je vervolgens Docker draait. Naast Docker is het noodzakelijk om Git te installeren, waardoor je de code kan ophalen: apt-get install git

<< N.a.v. de eerste culture harvest het advies om Op Mac te werken met VirtualBox in combinate met Dockers, danwel Vagrant. Boot2Docker lijkt niet 1,2,3 te werken.

Installatie OCD API

Ik neem aan dat je een Docker kan draaien, en dit getest hebt door bijvoorbeeld ‘sudo docker run -i -t ubuntu /bin/bash’ in te voeren.

1. ophalen Docker omgeving. Met ‘git pull openstate/ocd-docker’ wordt de hele handel opgehaalt.

2. Builden van de Docker Images. Ga naar de directory ‘docker’ en met het commando ‘build.sh’ worden standaard images (zoals Elastic Search) opgehaalt en er meerdere Docker images gebuild: docker-elasticsearch, redis, ocd-python.

3. starten van de images.

Vanuit de directory  ‘docker’ kan je met ‘run.sh’ een werkende stack krijgen. (Disclaimer: De API frontend zit er nog niet in!). De ‘data’ van elasticsearch wordt in de directory ‘data ‘naast je git ‘open-cultuur-data’ bewaart.

De ocd-etl start standaard celery, maar doet dan nog niets. Met ‘run-cod-cmd.sh’ heb je een voorbeeld dat begint met het harvesten van ‘open beelden’.

4. Testen of het werkt

Je kan nu met de elastic search API bellen om een query uit te voeren. ‘docker inspect c-es’. Pak dan het ip adres. Met ‘curl IPADRESS:9200’ krijg je een respons van ES!

Binnenkort meer over het aan de praat krijgen van de ‘echte’ API, namelijk de OCD_FRONTEND. Deze API registreert ook logging en doet nog een aantal andere interessante trucs.

The following two tabs change content below.

Lex Slaghuis

Lex Slaghuis is een van de oprichters van Hack de Overheid en was CTO bij Open State. Hij houdt zich bezig data, API's, community en Apps. Speciale aandacht gaat uit naar Open Cultuur Data, Open Spending en politieke transparantie.

Laatste berichten van Lex Slaghuis (toon alles)


Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.