diff options
Diffstat (limited to 'README.devel')
-rw-r--r-- | README.devel | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/README.devel b/README.devel new file mode 100644 index 0000000..c2bbd91 --- /dev/null +++ b/README.devel @@ -0,0 +1,86 @@ +Standalone Setup +---------------- + +NOTE: The standalone setup is most suitable for development. +For docker setup use the Docker-based setup covered in the +main README. + +In order to run this application standalone, you will need: + +* Python 3.4 or newer +* Django 2.2 - tested with 2.2; newer versions may work, but + haven't been tested. +* Third-party Django/python modules as detailed by requirements.txt. + If you're using pip, you can install these by running: + pip install -r requirements.txt +* For production usage, a web server set up to host Django applications + (not needed for local-only testing) +* A database supported by Django (SQLite, MySQL, etc.). Django takes + care of creating the database itself, you just need to ensure that the + database server (if not using SQLite) is configured and running. + +Example virtualenv-based setup for the above: + +Python's virtualenv provides an easy way to isolate the python dependencies +of applications such as the layer index. Here's an example of setting up a +virtualenv for the layer index that's particularly useful for development. +(This assumes a Debian-based distribution, adjust accordingly for other +distros). + +1. Install required host distro packages (some of these are required by + pip to build the dependencies; it's also assumed you want MariaDB as + the database backend): + + sudo apt-get install git virtualenv libmariadb-dev build-essential python3-dev libjpeg-dev libz-dev libfreetype6-dev mariadb-server rabbitmq-server + +2. Work around path issues (you may not need this): + + sudo ln -s /usr/bin/mariadb_config /usr/bin/mysql_config + +3. Create a Python 3 virtualenv (path can be anywhere you like): + + virtualenv -p python3 /path/to/desired/venv + +4. Activate the virtualenv: + + . /path/to/desired/venv/bin/activate + +5. Install requirements: + + pip install -r requirements.txt + +Setup instructions: + +1. Edit settings.py to specify a database, EMAIL_HOST, SECRET_KEY and + other settings specific to your installation. Ensure you set + REPO_BASE_DIR to an absolute path (Eg: /tmp/repos) to a location with sufficient + space for fetching layer repositories. + +2. Run the following commands within the git-refinery-web directory to + initialise the database: + + ./manage.py migrate + ./manage.py createsuperuser + + You should answer "yes" when asked to create an admin account. + +3. You can test the web application locally by setting DEBUG = True in + settings.py and running the following: + + ./manage.py runserver + + Then visit http://127.0.0.1:8000/gitrefinery/ with your browser. As + with all Django applications there is an admin interface available + at http://127.0.0.1:8000/admin/ also. The initial login and password + will be those you entered in the step above when creating an admin + account. + + NOTE: This local server should only be used for testing - for + production you need to use a proper web server and have DEBUG set + to False. + +4. Set the site name (as displayed in the top bar and page titles) by + going into the admin interface (http://127.0.0.1:8000/admin/), + clicking on "Sites" at the bottom, and editing the first entry, + setting "Display name" to the desired name. + |