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.
Lex Slaghuis
Laatste berichten van Lex Slaghuis (toon alles)
- Atlas Natuurlijk Kapitaal - 17 september 2015
- Klik hier om de KvK te wijzigen - 20 april 2015
- Houd jouw sessie over Internet en wetgeving - 10 april 2015