Clone repository
git clone [email protected]:mapswipe/mapswipe-backend.git mapswipe-backend
cd mapswipe-backendCreate a .env file
Important
NOTE: Overwrite/set variables using .env
Available options are defined in ./docker-compose.yaml:10 (environment) and ./main/settings.py:16 (env = environ.Env)
Pull and build images
docker compose pull
docker compose buildRun Essentials
docker compose upRun Web & Workers
docker compose up web worker worker-beat# Create new migrations if required
docker compose exec web ./manage.py makemigrations
# Show migrations status
docker compose exec web ./manage.py showmigrations
# Run latest migrations
docker compose exec web ./manage.py migrate# Create new user
docker compose exec web ./manage.py createsuperuser
# Change existing user's password
docker compose exec web ./manage.py changepassword mapswipe-user-1https://docs.djangoproject.com/en/latest/ref/django-admin/#createsuperuser
https://docs.djangoproject.com/en/5.1/ref/django-admin/#changepassword
docker compose run --rm web ./manage.py graphql_schema --out schema.graphql
# OR
docker compose exec web ./manage.py graphql_schema --out schema.graphqldocker compose run --rm test pytest
# OR
docker compose exec test pytestWe use git-cliff to manage changelogs.
The configuration is in ./cliff.toml.
Follow the instructions here: https://git-cliff.org/docs/installation/
./release.sh v0.1.2
git push
git push origin tag v0.1.2You can use django run command if there are no running instance for temporary commands
# If you want to generate latest GraphQl schema
# You can replace this command
docker compose exec web ./manage.py graphql_schema --out schema.graphql
# with this (Which will create a temporary container, run the command, and clean of the container)
docker compose run --rm web ./manage.py graphql_schema --out schema.graphqlUpdate the Python version in the following files:
- Dockerfile
- .pre-commit-config.yaml (
default_language_version.python) - .python-version
- pyproject.toml (
requires-python)