It's possible to run Demozoo a number of different ways, but work has been done to facilitate running it rather smoothly in either Vagrant or Docker.
First, clone this very repository to a folder on your hard drive:
git clone https://github.com/demozoo/demozoo.git
cd demozoo
After installing Vagrant and VirtualBox, bring up Demozoo as follows:
vagrant up
This will download an Ubuntu Jammy64 image, install dependencies, and fetch the latest public export of the Demozoo database. To start up the site:
vagrant ssh
# then within the Vagrant VM:
./manage.py runserver 0.0.0.0:8000
Alternatively you may need to run :
python ./manage.py runserver 0.0.0.0:8000
The site will now be available at http://localhost:8000/.
Warning
Installation under Docker is experimental and work in progress. Currently front-end assets (CSS and SVG icons) are not built automatically - these must be built manually after installation.
After installing Docker Desktop, you can bring up Demozoo by typing the following:
cp .docker/.env.example .docker/.env
docker-compose up
This will download the postgres:14-bullseye
and python:3.10
images and bootstrap the database with data from the latest Demozoo export.
Booting up the first time will take quite a while, as the database import is large, so be patient. The error messages logged from demozoo-web
during the import can be ignored. When the import is done, Running the server on http://localhost:8000
should be printed to the console. You should then be able to visit http://localhost:8000
in a web browser of your choice.
The data files from Postgres are by default stored in the .docker/db/pgdata
directory. If you want to wipe the database clean, simply delete that folder.
If you want to work with the search feature, you have to rebuild your database indices first:
./manage.py reindex
This will take a long time, but you only need to do it once.
All account passwords in the public database export are blanked, so you'll need to create a new account to log in. To create a superuser account:
./manage.py createsuperuser
and enter the account details when prompted.
The procedure above gives you a basic working Demozoo installation, but several features are unavailable due to needing additional configuration:
- file uploads (Amazon S3)
- screenshot processing
- background tasks (scene.org spidering, fetching screenshots from graphics releases...)
Instructions for these will be forthcoming, at least when someone asks for them :-)