mirror of
https://github.com/postgres/pgweb.git
synced 2025-07-23 00:47:10 +00:00
79 lines
2.8 KiB
ReStructuredText
79 lines
2.8 KiB
ReStructuredText
Development install
|
|
===================
|
|
|
|
So, you're ready to contribute to pgweb, and you want to set up a
|
|
local working copy of the website code, so you have something to work
|
|
with. Here's a quick step-by-step on how to do that:
|
|
|
|
#. Make sure you have downloaded and installed django *version 2.2*,
|
|
and python 3 (tested with version 3.7).
|
|
|
|
You will also need a few other dependencies, see the
|
|
`requirements.txt` in the root directory.
|
|
|
|
It is recommended to make the installation using a `virtualenv`
|
|
|
|
#. Make sure you have downloaded and installed PostgreSQL (tested
|
|
with version 11, but should work fine with anything newer)
|
|
|
|
#. Create a database in your PostgreSQL installation called pgweb
|
|
(other names are of course possible, but that's the standard one)
|
|
|
|
#. Create a file called settings_local.py, located in the pgweb
|
|
directory (next to settings.py). This file will contain any settings
|
|
you override from the main settings one. Normally, you will want to
|
|
override the following::
|
|
|
|
DEBUG=True
|
|
SITE_ROOT="http://localhost:8000"
|
|
SESSION_COOKIE_SECURE=False
|
|
SESSION_COOKIE_DOMAIN=None
|
|
CSRF_COOKIE_SECURE=False
|
|
CSRF_COOKIE_DOMAIN=None
|
|
|
|
There are some parts of the site that require further settings, but
|
|
this should be enough to get the basics up and running.
|
|
|
|
#. In the pgweb directory run the following command to create all
|
|
tables and indexes, as well as create a superuser for your local
|
|
installation::
|
|
|
|
./manage.py migrate
|
|
|
|
#. A few functions are required, or at least recommended in order to
|
|
test all of the system. The SQL scripts in the directory sql/ needs
|
|
to be run in the database. Note that for a local dev install
|
|
without varnish frontends, you should use the *varnish_local.sql*
|
|
script, and not use the *varnish.sql* script.
|
|
|
|
Load these files with something like
|
|
|
|
psql -d pgweb -f sql/varnish_local.sql
|
|
|
|
#. To load some initial data for some tables (far from all at this
|
|
point), in the pgweb directory, run the following command::
|
|
|
|
pgweb/load_initial_data.sh
|
|
|
|
#. You'll want to creaet a superuser so you can access the `/admin/`
|
|
interface:
|
|
|
|
./manage.py createsuperuser
|
|
|
|
#. At this point, you're ready to get started. Start your local server
|
|
by running::
|
|
|
|
./manage.py runserver
|
|
|
|
#. Now load up the website by going to http://localhost:8000
|
|
|
|
Future improvements
|
|
-------------------
|
|
The plan is to make it possible to get a good snapshot of the actual
|
|
PostgreSQL website to do development work on, including parts from the
|
|
database. However, there are a number of privacy issues that need to
|
|
be figured out before we can do that (we don't want to put a
|
|
database-dump containing thousands of well confirmed email addresses
|
|
easily available for download, for example). Any suggestions on
|
|
exactly how to get this done are much appreciated.
|