Files
TimeTracker/INSTALLATION.md
T
Dries Peeters 5e45bbd801 chore: update root config, Dockerfile, README, and GitHub workflows
- Update .gitignore, Dockerfile, INSTALLATION.md, README.md
- Update cd-development, cd-release, and migration-check workflows
2026-03-15 10:17:19 +01:00

3.0 KiB
Raw Blame History

TimeTracker Installation

This guide walks you through installing and running TimeTracker. For a quick overview, see the README Quick Start.

Prerequisites

  • Docker 20.10+ and Docker Compose 2.0+
  • Git
  • 2GB+ RAM for Docker containers
  • Ports: 80/443 (HTTPS) or 8080 (HTTP)

Install Docker for your platform: Docker Installation Guide.

Quick Install (Docker with HTTPS)

  1. Clone the repository:

    git clone https://github.com/drytrix/TimeTracker.git
    cd TimeTracker
    
  2. Create your environment file from the template:

    cp env.example .env
    
  3. Edit .env and set at least:

    • SECRET_KEY — Required for sessions and CSRF. Generate one:
      python -c "import secrets; print(secrets.token_hex(32))"
      
    • TZ — Your timezone (e.g. America/New_York, Europe/Brussels).
    • CURRENCY — Default currency (e.g. USD, EUR).
  4. Start the stack:

    docker-compose up -d
    
  5. Open https://localhost in your browser. The first run may show a self-signed certificate warning; proceed to continue.

The first user who logs in is created as an admin (or use ADMIN_USERNAMES in .env to predefine admin usernames).

First Login and Minimal Config

  • Log in with the username you configured (e.g. from ADMIN_USERNAMES) or the first account you create.
  • In Admin → Settings you can adjust timezone, currency, and other options.
  • See Getting Started for initial setup and core workflows.

Alternative: SQLite Quick Test

To try TimeTracker without PostgreSQL:

git clone https://github.com/drytrix/TimeTracker.git
cd TimeTracker
docker-compose -f docker/docker-compose.local-test.yml up --build

Then open http://localhost:8080. No .env is required for this compose file. SQLite is for evaluation only; use PostgreSQL for production.

Production Deployment

For production:

  • Use a strong SECRET_KEY and keep .env out of version control.
  • Prefer PostgreSQL (included in the default Docker Compose setup).
  • Put the app behind HTTPS (reverse proxy or Docker with HTTPS compose).

Detailed steps and options:

Troubleshooting

Problem Documentation
Docker wont start Docker Startup Troubleshooting
Database connection errors Database Connection Troubleshooting
CSRF or session errors CSRF Troubleshooting
Port already in use Change ports in your docker-compose file or stop the conflicting service

For more help, see the Documentation Index and Support.