aboutsummaryrefslogtreecommitdiffstats
path: root/README.devel
diff options
context:
space:
mode:
Diffstat (limited to 'README.devel')
-rw-r--r--README.devel86
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.
+