- create venv
$ python -m venv venv
- activate venv
$ source venv/bin/activate
- install deps
(venv) $ pip install -r requirements.txt
- Add env
(venv) $ export FLASK_APP=application.py
- Upgrade DB
(venv) $ flask db upgrade
- Run Server (Name/name12)
(venv) $ flask run
(venv) $ flask db migrate -m "<migration messages>"
(venv) $ flask db upgrade
Update all languages after making changes to _()
and _l()
:
(venv) $ fflask translate update
Add new language:
(venv) $ flask translate init <language-code>
Compile all languages after updating translation files:
(venv) $ flask translate compile
$ brew install elasticsearch
To have launched start elasticsearch:
brew services start elasticsearch
If you don't want/need a background service you can just run:
elasticsearch
ES URL: http://127.0.0.1:9200
$ docker build -t bloglite:latest .
$ docker run --name redis -d -p 6379:6379 redis:3-alpine
$ docker run --name mysql -d -e MYSQL_RANDOM_ROOT_PASSWORD=yes \
-e MYSQL_DATABASE=bloglite -e MYSQL_USER=bloglite \
-e MYSQL_PASSWORD=bloglite \
mysql/mysql-server:5.7
$ docker run --name elasticsearch -d -p 9200:9200 -p 9300:9300 --rm \
-e "discovery.type=single-node" \
docker.elastic.co/elasticsearch/elasticsearch-oss:6.1.1
$ docker run --name bloglite -d -p 8000:5000 --rm bloglite:latest
$ docker run --name bloglite -d -p 8000:5000 --rm -e SECRET_KEY=my-secret-key \
-e MAIL_SERVER=smtp.googlemail.com -e MAIL_PORT=587 -e MAIL_USE_TLS=true \
-e [email protected] -e MAIL_PASSWORD=myGmailPassword \
--link mysql:dbserver \
-e DATABASE_URL=mysql+pymysql://bloglite:bloglite@dbserver/bloglite \
--link elasticsearch:elasticsearch \
-e ELASTICSEARCH_URL=http://elasticsearch:9200 \
-e REDIS_URL=redis://redis-server:6379/0 \
bloglite:latest
$ docker run --name rq-worker -d --rm -e SECRET_KEY=my-secret-key \
-e MAIL_SERVER=smtp.googlemail.com -e MAIL_PORT=587 -e MAIL_USE_TLS=true \
-e MAIL_USERNAME=<your-gmail-username> -e MAIL_PASSWORD=<your-gmail-password> \
--link mysql:dbserver --link redis:redis-server \
-e DATABASE_URL=mysql+pymysql://bloglite:<database-password>@dbserver/bloglite \
-e REDIS_URL=redis://redis-server:6379/0 \
--entrypoint venv/bin/rq \
bloglite:latest worker -u redis://redis-server:6379/0 blog-tasks
// TODO: merge docker run commands ^-^
$ heroku addons:add heroku-postgresql:hobby-dev
$ heroku addons:create searchbox:starter
$ heroku config:get SEARCHBOX_URL
<your-elasticsearch-url>
$ heroku config:set ELASTICSEARCH_URL=<your-elasticsearch-url>
$ heroku addons:create heroku-redis:hobby-dev
** inspired by: 'https://habr.com/ru/post/346306/'