Size: 1870
Comment:
|
Size: 3082
Comment: Update django project instructions
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
## page was renamed from SimonHanna/InstallDevEnvironment | |
Line 10: | Line 11: |
{{{#!wiki caution Note that this guide assumes you read the [[DEV/HowToContributeGit|git instructions]] and set up your Gitlab account properly. If you want to contribute to Mailman, you should clone your own forks. You will have to change the urls shown below accordingly. }}} |
|
Line 12: | Line 19: |
mkdir -p ~/dev/mailman | $ mkdir -p ~/dev/mailman |
Line 17: | Line 24: |
cd ~/dev/mailman virtualenv -p /usr/bin/python3 venv3 virtualenv -p /usr/bin/python2 venv2 |
$ cd ~/dev/mailman $ virtualenv -p /usr/bin/python3 venv3 $ virtualenv -p /usr/bin/python2 venv2 |
Line 26: | Line 33: |
Detailed instructions can be found at [[http://mailman.readthedocs.org/|readthedocs.org]]. |
|
Line 27: | Line 36: |
cd ~/dev/mailman git clone git@gitlab.com:mailman/mailman.git source venv3/bin/activate cd mailman mailman setup.py develop deactivate |
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/mailman.git $ source venv3/bin/activate $ cd mailman $ python setup.py develop $ deactivate |
Line 36: | Line 45: |
Detailed instructions can be found at [[http://mailmanclient.readthedocs.org/|readthedocs.org]]. |
|
Line 37: | Line 48: |
cd ~/dev/mailman git clone git@gitlab.com:mailman/mailmanclient.git source venv2/bin/activate cd mailmanclient python setup.py develop deactivate |
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/mailmanclient.git $ source venv2/bin/activate $ cd mailmanclient $ python setup.py develop $ deactivate |
Line 46: | Line 57: |
Detailed instructions can be found at [[http://postorius.readthedocs.org/|readthedocs.org]]. | |
Line 49: | Line 61: |
cd ~/dev/mailman git clone git@gitlab.com:mailman/postorius.git source venv2/bin/activate cd postorius python setup.py develop deactivate |
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/postorius.git $ source venv2/bin/activate $ cd postorius $ python setup.py develop $ deactivate |
Line 58: | Line 70: |
Detailed instructions can be found at [[http://hyperkitty.readthedocs.org/|readthedocs.org]]. | |
Line 61: | Line 74: |
cd ~/dev/mailman git clone git@gitlab.com:mailman/hyperkitty.git source venv2/bin/activate cd hypkerkitty python setup.py develop deactivate |
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/hyperkitty.git $ source venv2/bin/activate $ cd hyperkitty $ python setup.py develop $ deactivate |
Line 70: | Line 83: |
Postorius and Hyperkitty both include example django projects which can be found in {{{ ./example_project/ }}}. They can be used to run the projects using the builtin django development server. The included settings are the recommended settings that should be used to deploy the projects. For production systems, you should use a full fledged web server such as Apache, gunicorn, uwsgi, ... To run either of the django projects |
|
Line 71: | Line 91: |
cd ~/dev/mailman git clone git@gitlab.com:mailman/hyperkitty_standalone.git git clone git@gitlab.com:mailman/postorius_standalone.git |
$ cd ~/dev/mailman $ source venv2/bin/activate $ cd postorius/example_project # After the first time, migrate is a no-op unless the Postorius DB schema changes. $ python manage.py migrate # You only need to createsuperuser once. $ python manage.py createsuperuser $ python manage.py runserver |
Line 76: | Line 101: |
To run any of the django projects {{{ cd ~/dev/mailman source venv2/bin/activate cd postorius_standalone python manage.py migrate python manage.py createsuperuser python manage.py runserver }}} Hyperkitty is setup the same way as postorius. |
Hyperkitty is setup the same way as Postorius (but in hyperkitty/example_project). |
How to setup your dev environment
First you need to decide which projects you want to develop. You will most likely always need mailman-core and mailmanclient.
After that you can choose if you want to stick to the core, or you want to also develop django projects. There is postorius - Management Interface And Hyperkitty - Mailman Archiver
Note that this guide assumes you read the git instructions and set up your Gitlab account properly.
If you want to contribute to Mailman, you should clone your own forks. You will have to change the urls shown below accordingly.
This guide assumes that you are setting everything in the directory created below:
$ mkdir -p ~/dev/mailman
And that you have two virtualenvs:
$ cd ~/dev/mailman $ virtualenv -p /usr/bin/python3 venv3 $ virtualenv -p /usr/bin/python2 venv2
Contents
Mailman Core
Detailed instructions can be found at readthedocs.org.
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/mailman.git $ source venv3/bin/activate $ cd mailman $ python setup.py develop $ deactivate
Mailman Client
Detailed instructions can be found at readthedocs.org.
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/mailmanclient.git $ source venv2/bin/activate $ cd mailmanclient $ python setup.py develop $ deactivate
Postorius
Detailed instructions can be found at readthedocs.org.
Make sure to install mailmanclient first!
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/postorius.git $ source venv2/bin/activate $ cd postorius $ python setup.py develop $ deactivate
Hyperkitty
Detailed instructions can be found at readthedocs.org.
Make sure to install mailmanclient first!
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/hyperkitty.git $ source venv2/bin/activate $ cd hyperkitty $ python setup.py develop $ deactivate
Django projects
Postorius and Hyperkitty both include example django projects which can be found in ./example_project/ . They can be used to run the projects using the builtin django development server. The included settings are the recommended settings that should be used to deploy the projects. For production systems, you should use a full fledged web server such as Apache, gunicorn, uwsgi, ...
To run either of the django projects
$ cd ~/dev/mailman $ source venv2/bin/activate $ cd postorius/example_project # After the first time, migrate is a no-op unless the Postorius DB schema changes. $ python manage.py migrate # You only need to createsuperuser once. $ python manage.py createsuperuser $ python manage.py runserver
Hyperkitty is setup the same way as Postorius (but in hyperkitty/example_project).