Files
gh-christianlouis-leagueledger/docs/getting-started/installation.md
T
Christian Krakau-Louis 6306abf6d9 Add comprehensive documentation for LeagueLedger
- Created architecture overview in development/architecture.md
- Added installation guide in getting-started/installation.md
- Developed user guide with detailed instructions in user-guide/overview.md, user-guide/teams.md, user-guide/qr-codes.md
- Implemented social login setup documentation in social_login_setup.md
- Updated index.md to include links to new documentation sections
- Configured mkdocs.yml for site structure and theme
- Added requirements.txt for documentation dependencies
2025-04-15 12:32:03 +02:00

143 lines
3.4 KiB
Markdown

# Installation Guide
This guide will walk you through the process of installing LeagueLedger on your system.
## Prerequisites
Before installing LeagueLedger, make sure you have the following prerequisites:
- Python 3.10 or higher
- pip (Python package manager)
- Git (optional, for cloning the repository)
- Docker and Docker Compose (optional, for containerized deployment)
## Option 1: Installation with Docker (Recommended)
The easiest way to get LeagueLedger up and running is using Docker and Docker Compose.
### Step 1: Clone the Repository
```bash
git clone https://github.com/yourusername/leagueledger.git
cd leagueledger
```
### Step 2: Create Environment File
Create a `.env` file in the project root or copy from the example:
```bash
cp .env.example .env
```
Edit the `.env` file to configure your environment variables.
### Step 3: Start with Docker Compose
```bash
docker-compose up -d
```
This will start all the required services including:
- Web application
- MySQL database
- PHPMyAdmin for database management
- Mailpit for email testing
### Step 4: Access the Application
Once the containers are running, you can access:
- LeagueLedger web interface at [http://localhost:8000](http://localhost:8000)
- PHPMyAdmin at [http://localhost:8001](http://localhost:8001)
- Mailpit (email testing) at [http://localhost:8025](http://localhost:8025)
## Option 2: Manual Installation
For development or if you prefer not to use Docker, you can install LeagueLedger manually.
### Step 1: Clone the Repository
```bash
git clone https://github.com/yourusername/leagueledger.git
cd leagueledger
```
### Step 2: Create a Virtual Environment
```bash
python -m venv venv
```
Activate the virtual environment:
=== "Windows"
```
venv\Scripts\activate
```
=== "macOS/Linux"
```
source venv/bin/activate
```
### Step 3: Install Dependencies
```bash
pip install -r requirements.txt
```
### Step 4: Configure Environment Variables
Create a `.env` file in the project root with the following content:
```
SECRET_KEY=your-secure-secret-key
DATABASE_URL=sqlite:///./leagueledger.db
# Email configuration
MAIL_USERNAME=your-email@example.com
MAIL_PASSWORD=your-email-password
MAIL_FROM=noreply@example.com
MAIL_PORT=587
MAIL_SERVER=smtp.example.com
MAIL_TLS=True
MAIL_SSL=False
MAIL_FROM_NAME=LeagueLedger
```
Customize the values as needed.
### Step 5: Initialize the Database
```bash
python -c "from app.db_init import init_db; init_db()"
```
### Step 6: Run the Application
```bash
uvicorn app.main:app --reload
```
The application should now be accessible at [http://localhost:8000](http://localhost:8000).
## Verifying the Installation
After installation, you can verify that LeagueLedger is working correctly by:
1. Opening your browser and navigating to [http://localhost:8000](http://localhost:8000)
2. Creating a new user account via the registration page
3. Logging in with your new credentials
The default admin credentials for the seeded database are:
- Username: `admin`
- Password: `password`
!!! warning "Security Note"
If using the seeded database in production, make sure to change the default admin password immediately.
## Next Steps
- [Configuration Guide](configuration.md): Configure LeagueLedger for your specific needs
- [Quick Start Guide](quick-start.md): Get started with using LeagueLedger
- [Social Login Setup](../integrations/social-login.md): Set up authentication with social media providers