- Python 3.11+
- Poetry
- Docker & Docker Compose (for deployment)
curl -sSL https://install.python-poetry.org | python3 -Check if Poetry is available:
poetry --versionIf Poetry is not found, add it to your PATH:
- Open your bash configuration:
nano ~/.bashrc - Add this line at the end:
export PATH="$HOME/.local/bin:$PATH"
- Save and reload:
source ~/.bashrc
git clone https://github.com/team-gamma-devs/spotly.git
cd spotlypoetry env activatepoetry install --no-rootCreate a .env file in the project root with the following variables:
SECRET_KEY= # Generate with: openssl rand -hex 32
RESEND_API_KEY= # Your Resend API key or email service key
MONGO_INITDB_ROOT_USERNAME= # MongoDB username
MONGO_INITDB_ROOT_PASSWORD= # MongoDB password
MONGODB_URL=mongodb://USERNAME:PASSWORD@mongo:27017 # Use the above credentials$(poetry env activate)uvicorn app.main:app --reloadFollow official Docker instructions or use:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add Docker repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo \"$VERSION_CODENAME\") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
# Install Docker & Compose
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginVerify installation:
sudo docker run hello-worlddocker compose build --no-cache
docker compose up -dThe app will now be running on your server.
docker compose -f docker-compose.dev.yaml up -d
# For destroy the container
docker compose -f docker-compose.dev.yaml down -v