- macOS / Windows: Docker for Desktop
- Linux: Docker + Docker-Compose
First, clone this repository.
This project uses Docker to build and run the code, both frontend and backend. So the only requirement to run it locally is a recent version of Docker with docker-compose.
- Obtain a recent database dump with name like
ietfa.torchbox.*.gz
and place indocker/database/
directory. Otherwise, it will start with a fresh database. - Obtain and unarchive media files into
media/
folder. - Run
docker-compose up
. It will build and start the frontend builder (yarn run start
) and the backend (python manage.py runserver
analog), along with a Postgresql database. The first run will take a while because the database dump needs to be restored. - After the frontend compilation finishes, the website should become available at http://localhost:8001
- Create a super user on Python application docker instance to access http://localhost:8001/admin
docker exec -ti wagtail_website_application_1 python manage.py createsuperuser
- To destroy everything (i.e. start the database from scratch) run
docker-compose down
.
- Run
docker-compose up
. It will build and start the frontend builder (yarn run start
) and the backend (python manage.py runserver
analog), along with a Postgresql database. The first run will take a while because the database dump needs to be restored. - Create an admin user
docker exec -ti wagtail_website_application_1 python manage.py createsuperuser
- Log into http://localhost:8001/admin
- Create a new "Home Page" (page type must be
Home Page
) and publish. - Go to http://localhost:8001/admin/sites/ and select localhost.
- Select the new "Home Page" as the root page and save.
- The website should become available at http://localhost:8001
- To destroy everything (i.e. start the database from scratch) run
docker-compose down
.
The backend configuration resides in ietf/settings/docker
, inheriting some settings from base.py
. Configuration is done with environment variables with sane checks, i.e. if a variable is required but not set, the application won't start.
Note: Running these steps before the Docker instructions above may prevent the frontend docker instance to run properly.
Install NVM and Yarn and then run these commands from the repo directory,
First, install dependencies:
# Make sure you use the right node version.
nvm install
nvm use
# Install project dependencies
yarn install
Then, build the frontend static files using one of these commands
# Builds and watches the frontend assets (use this when developing).
yarn run start
# Builds frontend development (non-optimized) assets, without watching
yarn run build
# Builds frontend production assets.
yarn run dist
Other available commands can be viewed with
yarn run