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

Teenuse häälestus

parent b187881f
......@@ -20,9 +20,9 @@ FROM debian:jessie
# Kui Debianil pole vaikimisi kaasas GCC vajalikke teeke vms, siis tuleb need ka lasta installida.
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 - && \
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"
RUN npm install -g forever
......@@ -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.
# Tarkvara X paigaldamine algab
# Kuna kasutame linuxi käsurea utiliiti, siis midagi spetsiaalset pole vaja lisada
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/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
# Expose port
EXPOSE 3006
EXPOSE 3011
VOLUME ["/config"]
VOLUME ["/wrapper/logs"]
......
# Teenus KL-WC
# Teenus KL-MORPH-ANALYSER
Käesolev teenus kasutab Linuxi käsurea utiliiti 'wc' ja tagastab etteantava tekstifaili kohta
faili, milles on üks rida kujul
```
<ridade_arv> <sõnade_arv> <tähtede_arv> <maksimaalne_rea_pikkus>
```
Käesolev teenus kasutab Vabamorf käsurea utiliiti ja tagastab etteantava lausestatud tekstifaili kohta
EstNLTK stiilis JSON faili, milles on iga sõne kohta selle morfoloogilise analüüsi variandid.
## Projekti käivitamise ettevalmistamine dockeriga (Linuxis)
* Tee käesolevast projektist enda GIT-is koopia.
......@@ -23,32 +20,32 @@ faili, milles on üks rida kujul
$ docker run --name kl_redis -d redis
```
* 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.
* 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:
```
$ cd /srv
$ mkdir -p keeleliin-wc
$ mkdir -p keeleliin-wc/config
$ mkdir -p keeleliin-wc/wrapper
$ mkdir -p keeleliin-wc/wrapper/files
$ mkdir -p keeleliin-wc/wrapper/logs
$ mkdir -p keeleliin-morph-analyser
$ mkdir -p keeleliin-morph-analyser/config
$ mkdir -p keeleliin-morph-analyser/wrapper
$ mkdir -p keeleliin-morph-analyser/wrapper/files
$ 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:
```
$ docker exec -it kl_wc bash
$ docker exec -it kl_morph_analyser bash
```
* Konteinerist saab väljuda käsuga: Ctrl+P Ctrl+Q
* 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 = {
*/
config.wrapper = { //teenuse seadistus
id: 'kl_wc', // Unikaalne lühinimi
title: 'Word Count utiliit', //Avalik nimi
description: 'Koostab etteantud tekstile vastava statistika', //Kirjeldus
port: 3006, //port
id: 'kl_morph_analyser', // Unikaalne lühinimi
title: 'Eesti keele morfoloogiline analüsaator', //Avalik nimi
description: 'Teenus lausestatud eestikeelse teksti morfoloogiliseks analüüsimiseks.', //Kirjeldus
port: 3011, //port
class: 'simpleLocalCommand', //wrapperi failinimi wrapper kaustast, mida utiliidi käivitamiseks kasutatakse
command: { commandTemplate: './command.sh [data]' }, // utiliidi käsurea käsk
requestConf: { //Päringu seadistus
......@@ -95,7 +95,7 @@ config.wrapper = { //teenuse seadistus
},
requestFiles: { //Päringuga saadetavad failid
content: { //Faili võti
type: 'text', //Ressursi tüübi võti
type: 'lau_a', //Ressursi tüübi võti
sizeLimit: 0, //Suuruse piirang
sizeUnit: 'byte',//Suuruse piirangu ühik
isList: false //Kas tegemist võib olla ka failide listuga
......@@ -104,7 +104,7 @@ config.wrapper = { //teenuse seadistus
},
outputTypes: [ //teenuse väljundressursside kirjeldused
{
type: 'text', //ressursi tüüp
type: 'moa_a', //ressursi tüüp
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