@@ -5,30 +5,49 @@ Installation
5
5
6
6
Installing Yeti is pretty straightforward. This procedure was tested on Ubuntu 18.04, but YMMV.
7
7
8
- Install dependencies::
8
+ Install the dependencies needed to add new repositories ::
9
9
10
- $ sudo apt-get install build-essential git python-dev mongodb redis-server libxml2-dev libxslt-dev zlib1g-dev python-virtualenv wkhtmltopdf
10
+ $ sudo apt update && sudo apt install dirmngr gnupg wget curl apt-transport-https
11
11
12
12
Install Yarn::
13
13
14
14
$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
15
15
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
16
- $ sudo apt-get update && sudo apt-get install yarn
16
+ $ sudo apt update && sudo apt install yarn
17
+
18
+ Install mongodb-org::
19
+
20
+ $ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
21
+ $ echo "deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
22
+ $ sudo apt update
17
23
18
- Download Yeti :
24
+ Install dependencies: :
19
25
26
+ $ sudo apt install build-essential git python-dev mongodb-org mongodb-org-shell mongodb-org-server mongodb-org-mongos redis-server libcurl4 libxml2-dev libxslt-dev zlib1g-dev python-virtualenv wkhtmltopdf python-pip python3-pip
27
+
28
+ Return at home and download Yeti:
29
+
30
+ $ cd
20
31
$ git clone https://github.com/yeti-platform/yeti.git
21
32
22
33
Activate virtualenv if you want to, then install requirements::
23
34
24
35
$ cd yeti
25
- $ [ sudo] pip install -r requirements.txt
36
+ $ sudo -H pip3 install -r requirements.txt
26
37
$ yarn install
27
38
28
- Create the logging directory::
39
+ Create user and the logging directory::
40
+
41
+ $ sudo useradd -r -M -d /opt/yeti -s /usr/sbin/nologin yeti
42
+ $ sudo mkdir /var/log/yeti
43
+ $ sudo chown yeti /var/log/yeti
44
+
45
+ Copy yeti on /opt filesystem, and configure::
29
46
30
- $ [sudo] mkdir /var/log/yeti
31
- $ [sudo] chown <user> /var/log/yeti
47
+ $ cd
48
+ $ sudo mv yeti /opt
49
+ $ sudo chown -R yeti:yeti /opt/yeti
50
+ $ sudo chmod +x /opt/yeti/yeti.py
32
51
33
52
Quick & dirty
34
53
-------------
@@ -45,7 +64,7 @@ This will only enable the web interface - if you want to use Feeds and Analytics
45
64
$ celery -A core.config.celeryctl.celery_app worker --loglevel=ERROR -Q oneshot -n oneshot -c 2 --purge
46
65
$ celery -A core.config.celeryctl beat -S core.scheduling.Scheduler --loglevel=ERROR
47
66
48
- Or, to bootstrap a production use instance of Yeti on Ubuntu 16 .04 (without the Redis tweaks), everyone's favorite command::
67
+ Or, to bootstrap a production use instance of Yeti on Ubuntu 18 .04 (without the Redis tweaks), everyone's favorite command::
49
68
50
69
$ curl https://raw.githubusercontent.com/yeti-platform/yeti/master/extras/ubuntu_bootstrap.sh | sudo /bin/bash
51
70
@@ -61,7 +80,7 @@ For production use, it may be better to daemonize Yeti and tweak redis for perfo
61
80
62
81
Install ``nginx `` and ``uwsgi ``::
63
82
64
- $ sudo apt-get install nginx uwsgi
83
+ $ sudo apt install nginx uwsgi uwsgi-plugin-python3
65
84
66
85
Optimize redis
67
86
^^^^^^^^^^^^^^
@@ -84,7 +103,7 @@ Add the following lines in ``/etc/rc.local``::
84
103
Install systemd services
85
104
^^^^^^^^^^^^^^^^^^^^^^^^
86
105
87
- Copy all files in ``extras/systemd/* `` to ``/lib /systemd/system/ ``. If you'd
106
+ Copy all files in ``extras/systemd/* `` to ``/etc /systemd/system/ ``. If you'd
88
107
rather have the web content served through nginx (recommended for production),
89
108
copy ``yeti_uwsgi.service ``, otherwise you'll be fine with ``yeti_web.service ``.
90
109
@@ -98,20 +117,52 @@ And start with::
98
117
99
118
systemd protips::
100
119
101
- $ sudo service yeti_web start|stop|restart
120
+ $ sudo service yeti_uwsgi start|stop|restart
102
121
or
103
122
$ sudo systemctl start|status|stop yeti_web
104
123
105
124
To enable the systemd scripts once you've installed them::
106
125
107
- sudo systemctl enable yeti_web
126
+ sudo systemctl enable yeti_uwsgi
127
+
128
+ For install yeti with development webserver::
129
+ $ sudo systemctl enable mongod.service
130
+ $ sudo systemctl enable yeti_web.service
131
+ $ sudo systemctl enable yeti_oneshot.service
132
+ $ sudo systemctl enable yeti_feeds.service
133
+ $ sudo systemctl enable yeti_exports.service
134
+ $ sudo systemctl enable yeti_analytics.service
135
+ $ sudo systemctl enable yeti_beat.service
136
+ $ sudo systemctl start mongod.service
137
+ $ sudo systemctl start yeti_web.service
138
+ $ sudo systemctl start yeti_oneshot.service
139
+ $ sudo systemctl start yeti_feeds.service
140
+ $ sudo systemctl start yeti_exports.service
141
+ $ sudo systemctl start yeti_analytics.service
142
+ $ sudo systemctl start yeti_beat.service
143
+
144
+ For install yeti with nginx reverse proxy::
145
+ $ sudo systemctl enable mongod.service
146
+ $ sudo systemctl enable yeti_uwsgi.service
147
+ $ sudo systemctl enable yeti_oneshot.service
148
+ $ sudo systemctl enable yeti_feeds.service
149
+ $ sudo systemctl enable yeti_exports.service
150
+ $ sudo systemctl enable yeti_analytics.service
151
+ $ sudo systemctl enable yeti_beat.service
152
+ $ sudo systemctl start mongod.service
153
+ $ sudo systemctl start yeti_uwsgi.service
154
+ $ sudo systemctl start yeti_oneshot.service
155
+ $ sudo systemctl start yeti_feeds.service
156
+ $ sudo systemctl start yeti_exports.service
157
+ $ sudo systemctl start yeti_analytics.service
158
+ $ sudo systemctl start yeti_beat.service
108
159
109
160
If you're running nginx, add the following configuration to one of the nginx
110
161
server directives::
111
162
112
163
server {
113
164
listen 80;
114
- server_name yeti;
165
+ server_name yeti.domain.lan ;
115
166
116
167
location / {
117
168
include uwsgi_params;
0 commit comments