Commit 38de0644 authored by Indrek Jentson's avatar Indrek Jentson

Teenuse häälestus

parent b187881f
...@@ -20,9 +20,9 @@ FROM debian:jessie ...@@ -20,9 +20,9 @@ FROM debian:jessie
# Kui Debianil pole vaikimisi kaasas GCC vajalikke teeke vms, siis tuleb need ka lasta installida. # Kui Debianil pole vaikimisi kaasas GCC vajalikke teeke vms, siis tuleb need ka lasta installida.
RUN apt-get update && \ RUN apt-get update && \
apt-get -y install curl sudo && \ apt-get -y install curl sudo pkg-config && \
curl -sL https://deb.nodesource.com/setup | sudo bash - && \ curl -sL https://deb.nodesource.com/setup | sudo bash - && \
apt-get -y install build-essential nodejs wget && \ apt-get -y install build-essential nodejs wget g++ gmake gawk && \
apt-get -y install git && echo "Installed 2" apt-get -y install git && echo "Installed 2"
RUN npm install -g forever RUN npm install -g forever
...@@ -40,18 +40,24 @@ echo "NPM is installed" ...@@ -40,18 +40,24 @@ echo "NPM is installed"
# SIIA ALLA lisa kõik installeerimise käsud, mis on vajalikud sisulist tööd tegeva tarkvara X paigaldamiseks. # SIIA ALLA lisa kõik installeerimise käsud, mis on vajalikud sisulist tööd tegeva tarkvara X paigaldamiseks.
# Tarkvara X paigaldamine algab # Tarkvara X paigaldamine algab
# Kuna kasutame linuxi käsurea utiliiti, siis midagi spetsiaalset pole vaja lisada
RUN cd /wrapper && \ RUN cd /wrapper && \
git clone 'https://gitlab.keeleressursid.ee/keeleliin/kl-wc.git' && \ git clone 'https://gitlab.keeleressursid.ee/keeleliin/kl-morph-analyser.git' && \
cp kl-wc/config_dist.js . && \ cp kl-wc/config_dist.js . && \
cp kl-wc/command.sh . && \ cp kl-wc/command.sh . && \
chmod +x command.sh chmod +x command.sh && \
git clone 'https://github.com/Filosoft/vabamorf.git' && \
cd vabamorf/apps/cmdline/project/unix && \
make -f Makefile.etana && \
cd /wrapper/vabamorf
JUUR=$(pwd) && \
cd ${JUUR}/dct/sh && \
chmod +x *.sh && \
./nullist-uus-sonastik.sh
# Tarkvara X paigaldamine lõppeb # Tarkvara X paigaldamine lõppeb
# Expose port # Expose port
EXPOSE 3006 EXPOSE 3011
VOLUME ["/config"] VOLUME ["/config"]
VOLUME ["/wrapper/logs"] VOLUME ["/wrapper/logs"]
......
# Teenus KL-WC # Teenus KL-MORPH-ANALYSER
Käesolev teenus kasutab Linuxi käsurea utiliiti 'wc' ja tagastab etteantava tekstifaili kohta Käesolev teenus kasutab Vabamorf käsurea utiliiti ja tagastab etteantava lausestatud tekstifaili kohta
faili, milles on üks rida kujul EstNLTK stiilis JSON faili, milles on iga sõne kohta selle morfoloogilise analüüsi variandid.
```
<ridade_arv> <sõnade_arv> <tähtede_arv> <maksimaalne_rea_pikkus>
```
## Projekti käivitamise ettevalmistamine dockeriga (Linuxis) ## Projekti käivitamise ettevalmistamine dockeriga (Linuxis)
* Tee käesolevast projektist enda GIT-is koopia. * Tee käesolevast projektist enda GIT-is koopia.
...@@ -23,32 +20,32 @@ faili, milles on üks rida kujul ...@@ -23,32 +20,32 @@ faili, milles on üks rida kujul
$ docker run --name kl_redis -d redis $ docker run --name kl_redis -d redis
``` ```
* Lae alla oma teenuse Dockerfile * Lae alla oma teenuse Dockerfile
* wget https://github.com/username/kl-wc/raw/master/Dockerfile * wget https://github.com/username/kl-morph-analyser/raw/master/Dockerfile
* Muuda allalaetud faili vastavalt vajadusele. Näiteks muuda #Expose port parameetrit vastavalt sellele, millisel pordil hakkab loodud teenus töötama. * Muuda allalaetud faili vastavalt vajadusele. Näiteks muuda #Expose port parameetrit vastavalt sellele, millisel pordil hakkab loodud teenus töötama.
* Loo dockeri Image fail (kl_wc - Image nimi): * Loo dockeri Image fail (kl_morph_analyser - Image nimi):
``` ```
$ docker build -t kl_wc . $ docker build -t kl_morph_analyser .
``` ```
* Loo teenuse seadistuste faili ja muude failide jaoks dockerivälised kaustad: * Loo teenuse seadistuste faili ja muude failide jaoks dockerivälised kaustad:
``` ```
$ cd /srv $ cd /srv
$ mkdir -p keeleliin-wc $ mkdir -p keeleliin-morph-analyser
$ mkdir -p keeleliin-wc/config $ mkdir -p keeleliin-morph-analyser/config
$ mkdir -p keeleliin-wc/wrapper $ mkdir -p keeleliin-morph-analyser/wrapper
$ mkdir -p keeleliin-wc/wrapper/files $ mkdir -p keeleliin-morph-analyser/wrapper/files
$ mkdir -p keeleliin-wc/wrapper/logs $ mkdir -p keeleliin-morph-analyser/wrapper/logs
``` ```
* Käivita loodud kl_wc: * Käivita loodud kl_morph_analyser:
``` ```
$ docker run --name kl_wc -d --link kl_redis:redis -p 3006:3006 -v /srv/keeleliin-wc/config:/config -v /srv/keeleliin-wc/wrapper/files:/wrapper/files -v /srv/keeleliin-wc/wrapper/logs:/wrapper/logs kl_wc $ docker run --name kl_morph_analyser -d --link kl_redis:redis -p 3011:3011 -v /srv/keeleliin-morph-analyser/config:/config -v /srv/keeleliin-morph-analyser/wrapper/files:/wrapper/files -v /srv/keeleliin-morph-analyser/wrapper/logs:/wrapper/logs kl_morph_analyser
``` ```
* Muuda vajaduse korral teenuse seadistusi failis /srv/keeleliin-wc/config/config.js. Jälgi, et config.js-is kirjeldatud teenuse port, Dockerfile #Expose port ja docker run -p PORT:PORT oleksid sama väärtusega. * Muuda vajaduse korral teenuse seadistusi failis /srv/keeleliin-morph-analyser/config/config.js. Jälgi, et config.js-is kirjeldatud teenuse port, Dockerfile #Expose port ja docker run -p PORT:PORT oleksid sama väärtusega.
* Soovi korral saab konteineris teha toiminguid, aga eeldatavasti ei ole vaja midagi täiendavat teha: * Soovi korral saab konteineris teha toiminguid, aga eeldatavasti ei ole vaja midagi täiendavat teha:
``` ```
$ docker exec -it kl_wc bash $ docker exec -it kl_morph_analyser bash
``` ```
* Konteinerist saab väljuda käsuga: Ctrl+P Ctrl+Q * Konteinerist saab väljuda käsuga: Ctrl+P Ctrl+Q
* Kui muutsid midagi, siis uuenda teenust: * Kui muutsid midagi, siis uuenda teenust:
``` ```
$ docker exec kl_wc /wrapper/docker_update.sh $ docker exec kl_morph_analyser /wrapper/docker_update.sh
``` ```
cat $1 | wc -m -l -w -L #!/bin/sh
RADA=/wrapper/EstCG
RADAMRF=/wrapper/vabamorf/apps/cmdline/project/unix
RADADCT=/wrapper/vabamorf/dct/binary/
cat $1 | $RADAMRF/etana analyze -lex $RADADCT/et.dct -guess
...@@ -67,10 +67,10 @@ config.fs = { ...@@ -67,10 +67,10 @@ config.fs = {
*/ */
config.wrapper = { //teenuse seadistus config.wrapper = { //teenuse seadistus
id: 'kl_wc', // Unikaalne lühinimi id: 'kl_morph_analyser', // Unikaalne lühinimi
title: 'Word Count utiliit', //Avalik nimi title: 'Eesti keele morfoloogiline analüsaator', //Avalik nimi
description: 'Koostab etteantud tekstile vastava statistika', //Kirjeldus description: 'Teenus lausestatud eestikeelse teksti morfoloogiliseks analüüsimiseks.', //Kirjeldus
port: 3006, //port port: 3011, //port
class: 'simpleLocalCommand', //wrapperi failinimi wrapper kaustast, mida utiliidi käivitamiseks kasutatakse class: 'simpleLocalCommand', //wrapperi failinimi wrapper kaustast, mida utiliidi käivitamiseks kasutatakse
command: { commandTemplate: './command.sh [data]' }, // utiliidi käsurea käsk command: { commandTemplate: './command.sh [data]' }, // utiliidi käsurea käsk
requestConf: { //Päringu seadistus requestConf: { //Päringu seadistus
...@@ -95,7 +95,7 @@ config.wrapper = { //teenuse seadistus ...@@ -95,7 +95,7 @@ config.wrapper = { //teenuse seadistus
}, },
requestFiles: { //Päringuga saadetavad failid requestFiles: { //Päringuga saadetavad failid
content: { //Faili võti content: { //Faili võti
type: 'text', //Ressursi tüübi võti type: 'lau_a', //Ressursi tüübi võti
sizeLimit: 0, //Suuruse piirang sizeLimit: 0, //Suuruse piirang
sizeUnit: 'byte',//Suuruse piirangu ühik sizeUnit: 'byte',//Suuruse piirangu ühik
isList: false //Kas tegemist võib olla ka failide listuga isList: false //Kas tegemist võib olla ka failide listuga
...@@ -104,7 +104,7 @@ config.wrapper = { //teenuse seadistus ...@@ -104,7 +104,7 @@ config.wrapper = { //teenuse seadistus
}, },
outputTypes: [ //teenuse väljundressursside kirjeldused outputTypes: [ //teenuse väljundressursside kirjeldused
{ {
type: 'text', //ressursi tüüp type: 'moa_a', //ressursi tüüp
key: 'output' //väljundressursi võti key: 'output' //väljundressursi võti
} }
], ],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment