You have different ways of setting up your development environment:
- docker
- docker-compose
Create the file etip/etip/settings/custom_docker.py with the following content:
from .docker import *
# Overwrite any other settings you wish toecho uid=$(id -u) > .env
docker-compose up -d
# Once etip started, you can check its logs
docker-compose logs -f etipWhen everything is up, Docker logs say ETIP DB is ready..
The etip container automatically:
- Create the database
- Make migration
- Start ETIP
Don't forget to rebuild your image and refresh your container if there is any change with docker-compose up -d --build.
You can use the command
docker-compose exec etip /entrypoint.sh "<command>"to make actions, where <command> can be:
collect-static: Collect all static filescompare-with-exodus: Looks for differences with εxodus and local trackerscompile-messages: Compile the translation messagescreate-db: Create the database and apply migrationscreate-user: Create a Django usermake-messages: Create the extracted translation messagesstart-etip: Start the web servertest: Run tests
This setup is based on a Debian 12 (Bookworm) configuration.
sudo apt install git virtualenv build-essential libssl-dev libffi-dev python3-dev libxml2-dev libxslt1-dev libpq-dev pipenvgit clone https://github.com/Exodus-Privacy/etip.gitsudo su - postgres
psql
CREATE USER etip WITH PASSWORD 'etip';
CREATE DATABASE etip WITH OWNER etip;
\c etipcd exodus
pipenv install --devYou can tweak your instance by changing some settings.
Follow instructions to get AAS token here.
Create the file etip/etip/settings/custom_dev.py with the following content:
from .dev import *
# Overwrite any other settings you wish toecho "DJANGO_SETTINGS_MODULE=etip.settings.custom_dev" > .env
# enter into python environment
pipenv shell
cd etip
python manage.py migrate --fake-initial
python manage.py migrate
# Import tracker definitions from the official instance of εxodus
python manage.py import_trackers
# Import predefined tracker categories
python manage.py import_categoriespython manage.py createsuperuserYou have to activate the virtual venv and cd into the same directory as manage.py file.
pipenv shell
cd etip
python manage.py runserverNow browse http://127.0.0.1:8000
python manage.py test