From 517f5c48e66cb3ecc125fc2f1ac4a1a2c1ecd8f1 Mon Sep 17 00:00:00 2001 From: katnyaa Date: Tue, 23 May 2017 11:55:22 +0000 Subject: [PATCH] readme: Clean up setup instructions --- README.md | 32 +++++++++++--------------------- 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index c2471a8..ab46758 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,6 @@ # NyaaV2 -## Setup: - -- Create your virtualenv, for example with `pyvenv venv` -- Enter your virtualenv with `source venv/bin/activate` -- Install dependencies with `pip install -r requirements.txt` -- Run `python db_create.py` to create the database -- Start the dev server with `python run.py` - -## Updated Setup (python 3.6.1): +## Setup - Install dependencies https://github.com/pyenv/pyenv/wiki/Common-build-problems - Install `pyenv` https://github.com/pyenv/pyenv/blob/master/README.md#installation @@ -20,7 +12,7 @@ - Copy `config.example.py` into `config.py` - Change TABLE_PREFIX to `nyaa_` or `sukebei_` depending on the site -## Setting up MySQL/MariaDB database for advanced functionality +### Setting up MySQL/MariaDB database for advanced functionality - Enable `USE_MYSQL` flag in config.py - Install latest mariadb by following instructions here https://downloads.mariadb.org/mariadb/repositories/ - Tested versions: `mysql Ver 15.1 Distrib 10.0.30-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2` @@ -35,18 +27,18 @@ - `CREATE DATABASE nyaav2 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;` - `SOURCE ~/path/to/database/nyaa_maria_vx.sql` -## Finishing up +### Finishing up - Run `python db_create.py` to create the database - Load the .sql file - `mysql -u user -p nyaav2` - `SOURCE cocks.sql` - Remember to change the default user password to an empty string to disable logging in - Start the dev server with `python run.py` -- Deactivate `source deactivate` +- When you are finished developing, deactivate your virtualenv with `source deactivate` -# Enabling ElasticSearch +## Enabling ElasticSearch -## Basics +### Basics - Install jdk `sudo apt-get install openjdk-8-jdk` - Install elasticsearch https://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html - `sudo systemctl enable elasticsearch.service` @@ -54,7 +46,7 @@ - Run `curl -XGET 'localhost:9200'` and make sure ES is running - Optional: install Kabana as a search frontend for ES -## Enable MySQL Binlogging +### Enable MySQL Binlogging - Add the `[mariadb]` bin-log section to my.cnf and reload mysql server - Connect to mysql - `SHOW VARIABLES LIKE 'binlog_format';` @@ -62,7 +54,7 @@ - Connect to root user - `GRANT REPLICATION SLAVE ON *.* TO 'test'@'localhost';` where test is the user you will be running `sync_es.py` with -## Setting up ES +### Setting up ES - Run `./create_es.sh` and this creates two indicies: `nyaa` and `sukebei` - The output should show `acknowledged: true` twice - The safest bet is to disable the webapp here to ensure there's no database writes @@ -70,7 +62,7 @@ - Run `python import_to_es.py` with `SITE_FLAVOR` set to `sukebei` - These will take some time to run as it's indexing -## Setting up sync_es.py +### Setting up sync_es.py - Sync_es.py keeps the ElasticSearch index updated by reading the BinLog - Configure the MySQL options with the user where you granted the REPLICATION permissions - Connect to MySQL, run `SHOW MASTER STATUS;`. @@ -78,15 +70,13 @@ - Set up `sync_es.py` as a service and run it, preferably as the system/root - Make sure `sync_es.py` runs within venv with the right dependencies +Enable the `USE_ELASTIC_SEARCH` flag in `config.py`, restart the application, and you're good to go. + ## Database migrations - Uses [flask-Migrate](https://flask-migrate.readthedocs.io/) - Run `./db_migrate.py db migrate` to generate the migration script after database model changes. - Take a look at the result in `migrations/versions/...` to make sure nothing went wrong. - Run `./db_migrate.py db upgrade` to upgrade your database. -## Good to go! -- After that, enable the `USE_ELASTIC_SEARCH` flag and restart the webapp and you're good to go - - ## Code Quality: - Remember to follow PEP8 style guidelines and run `./lint.sh` before committing.