Skip to content

Getting Started

Last updated: July 2026


Follow this detailed guide to set up and run Crestr on your local machine.

Prerequisites

Before starting, ensure you have the following installed:

  • Git - To clone the repository
    Download Git
  • Docker & Docker Compose - The app runs locally via Docker containers
  • Docker Desktop: Install Docker
  • Docker Compose is included with Docker Desktop (v2+)

Users

1. Clone the Repository

Open your terminal and run:

# Clone the project
git clone https://github.com/abdlfc11/Crestr-Hiking-App.git

# Navigate into the project folder
cd Crestr-Hiking-App

2. After cloning set up the .env file

You should see a project structure similar to this

Crestr-Hiking-App/
├── docker-compose.yml
├── Dockerfile
├── src/
│   ├── fastapi_app.py
│   ├── Pathfinding/
│   └── config.py
|   └── ... 
├── data/
├── README.md
└── requirements.txt
└── .env.example
└── ...

Follow the steps below to set up a .env file

Make a file named '.env' and copy the contents from the 'example.env' file

The contents of the example.env file is shown below

 # Application
ENVIRONMENT=production
SITE_DOMAIN=http://localhost

# APIs
LOCATIONIQ_API_KEY=your_locationiq_api_key

# PostgreSQL
POSTGRES_USER=crestr_dev
POSTGRES_PASSWORD=secure_hiking_password_2025
POSTGRES_DB=crestr_hiking

DATABASE_URI=postgresql://crestr_dev:secure_hiking_password_2025@db:5432/crestr_hiking
LOCAL_DATABASE_URI=postgresql://crestr_dev:secure_hiking_password_2025@localhost:5432/crestr_hiking

# pgAdmin
PGADMIN_EMAIL=admin@example.com
PGADMIN_PASS=change_me
PGADMIN_PORT=5050

# Routing
GRAPH_PATH=graph_generation/elevation_populated_graph.pkl

# Umami
UMAMI_WEBSITE_ID=get_ID_from_umami
UMAMI_SCRIPT_URL=http://localhost:3000/script.js
UMAMI_DB_PASSWORD=change_this_to_a_strong_password
UMAMI_APP_SECRET=generate_a_long_random_secret

The app will work fine with these values unchanged excepting the searching for an area feature, as this is achieved via the LOCATIONIQ_API_KEY of which you will need to retrieve your own from their website

3. Build and Start the App

Run the following command to build the Docker image and start all services

docker-compose up --build

Useful commands

docker-compose up --build -d # this builds and starts services in the background (detached mode)
docker-compose --build --force-recreate # this force builds everything and restarts services
docker-compose logs -f # this allows you to follow logs in real time

4. Access the App

Wait until the containers are running

Once they are, the app should be accessible via localhost:5000, opening on the map. You may want to make an account to save routes and points by visiting localhost:5000/register

5. Common Issues + Troubleshooting

Issue Solution
Port 5000 already in use Change the port in docker-compose.yml
Docker permission error Run with sudo (linux) or ensure Docker Desktop is operational
Build fails run docker system prune -f and try again