The special events app that's special.
Corkboard uses Django, an amazing Python web framework, and as such it needs a few Python utilities. As of this writing, Corkboard is compatible with Python 2.7.x and Python 3.x
Fie and double fie upon the one who does these out of order.
####Install pip:
sudo easy_install pip
When it comes to Python package managers, pip is the only game in town. It wraps the ironically headache-inducing easy_install and makes installing python packages a breeze. Be sure to run this command as root (either use sudo or login as root) to install pip globally.
####Install virtualenv:
sudo pip install virtualenv
Virtualenv allows you to install Python packages in walled-off virtual environments, which is great when you have multiple projects on one machine, each of which may depend on a different version of the same package. Perfect for the developer who can't eat her peas if their touching the carrots.
####Install autoenv:
sudo pip install autoenv
echo "source /usr/local/opt/autoenv/activate.sh" >> ~/.bash_profile
source ~/.bash_profile
Place a .env
file in any directory, and this nifty little program will automatically execute all shell commands contained
therein whenever you cd
into that directory. Great for activating virtualenvs and issuing threatening console messages.
####Clone this repo:
Unless you're planning on cloning this repo once and then never touching it again, you'll want to clone it via ssh. Make sure
your public key(s) is/are uploaded to your github profile. If you have no idea what that means, go here
and follow the instructions for generating an ssh key pair and uploading your public key. Once that's done, cd
into the directory where you want to clone the project and:
git clone [email protected]:wbrefvem/corkboard.git
####Create and activate virtualenv:
After cloning, run the following:
cd corkboard
virtualenv .venv
(You can specify a different version of python from your system default by adding -p <path-to-python-binary>
to the above command.)
source .venv/bin/activate
echo "source .venv/bin/activate" >> .env
You now have an active Python virtual environment. Anything you install through pip will reside here in this environment and may not be available outside of it.
Note: if you run pip as root while your virtualenv is active, your package(s) will be installed globally, not in your virtualenv. When working with virtualenvs, it's best to install everything under your own username.
####Install required packages:
pip install -r requirements.txt
####Run database migrations:
By default, Corkboard uses SQLite for development. Don't change this unless you really want to. Matter of fact, don't change it even if you really want to. SQLite is awesome.
In any case, you'll need to intialize your database schema by running the migrations. Make sure you're in the folder where manage.py
is located
and run:
python manage.py migrate
####Create admin account
python manage.py createsuperuser
This creates an admin account that you can use to login, both to the Corkboard app as well as Django's admin interface, which can be accessed
at /admin
.
####Run development server:
You're going to want to use Django's development server for development. Don't use it for production unless you hate sleep and happiness.
python manage.py runserver 0.0.0.0:8008
You will have to choose a different port if something else is running on port 8008
. It's also worth noting that using 0.0.0.0
for the host string
will make your Corkboard installation visible to other machines on the network, assuming your firewall is configured to allow http traffic
on 8008
or whatever port you chose. Use 127.0.0.1
or localhost
for the host string or configure your firewall to block http traffic on your chosen port
to prevent this. If you run runserver
without specifying a host and port, it will run on 127.0.0.1:8000
by default.