$ git clone https://github.com/hack4impact/flask-base.git
$ cd flask-base
$ pip install virtualenv
$ virtualenv -p /path/to/python3.x/installation env
$ source env/bin/activate
For mac users it will most likely be
$ pip install virtualenv
$ virtualenv -p python3 env
$ source env/bin/activate
Note: if you are using a python2.x version, point the -p value towards your python2.x path
$ xcode-select --install
Create a file called config.env that contains environment variables in the following syntax: ENVIRONMENT_VARIABLE=value.
You may also wrap values in double quotes like ENVIRONMENT_VARIABLE="value with spaces".
For example, the mailing environment variables can be set as the following.
We recommend using Sendgrid for a mailing SMTP server, but anything else will work as well.
MAIL_USERNAME=example@domain.com
MAIL_PASSWORD=SuperSecretPassword
SECRET_KEY=SuperRandomStringToBeUsedForEncryption
Other Key value pairs:
ADMIN_EMAIL: set to the default email for your first admin account (default isflask-base-admin@example.com)ADMIN_PASSWORD: set to the default password for your first admin account (default ispassword)DATABASE_URL: set to a postgresql database url (default isdata-dev.sqlite)REDISTOGO_URL: set to Redis To Go URL or any redis server url (default ishttp://localhost:6379)RAYGUN_APIKEY: api key for raygun (default isNone)FLASK_CONFIG: can bedevelopment,production,default,heroku,unix, ortesting. Most of the time you will usedevelopmentorproduction.
Note: do not include the .env file in any commits. This should remain private.
$ pip install -r requirements.txt
You need Redis, and Sass. Chances are, these commands will work:
Sass:
$ gem install sass
Redis:
Mac (using homebrew):
$ brew install redis
Linux:
$ sudo apt-get install redis-server
You will also need to install PostgresQL
Mac (using homebrew):
brew install postgresql
Linux (based on this issue):
sudo apt-get install libpq-dev
$ python manage.py recreate_db
$ python manage.py setup_dev
Note that this will create an admin user with email and password specified by the ADMIN_EMAIL and ADMIN_PASSWORD config variables. If not specified, they are both flask-base-admin@example.com and password respectively.
$ python manage.py add_fake_data
$ source env/bin/activate
$ honcho start -f Local
For Windows users having issues with binding to a redis port locally, refer to this issue.