Files
TimeTracker/docker-compose.local-test.yml
Dries Peeters 77aec94b86 feat: Add project costs tracking and remove license server integration
Major Features:
- Add project costs feature with full CRUD operations
- Implement toast notification system for better user feedback
- Enhance analytics dashboard with improved visualizations
- Add OIDC authentication improvements and debug tools

Improvements:
- Enhance reports with new filtering and export capabilities
- Update command palette with additional shortcuts
- Improve mobile responsiveness across all pages
- Refactor UI components for consistency

Removals:
- Remove license server integration and related dependencies
- Clean up unused license-related templates and utilities

Technical Changes:
- Add new migration 018 for project_costs table
- Update models: Project, Settings, User with new relationships
- Refactor routes: admin, analytics, auth, invoices, projects, reports
- Update static assets: CSS improvements, new JS modules
- Enhance templates: analytics, admin, projects, reports

Documentation:
- Add comprehensive documentation for project costs feature
- Document toast notification system with visual guides
- Update README with new feature descriptions
- Add migration instructions and quick start guides
- Document OIDC improvements and Kanban enhancements

Files Changed:
- Modified: 56 files (core app, models, routes, templates, static assets)
- Deleted: 6 files (license server integration)
- Added: 28 files (new features, documentation, migrations)
2025-10-09 11:50:26 +02:00

45 lines
1.5 KiB
YAML

services:
app:
build: .
container_name: timetracker-app-local-test
environment:
- TZ=${TZ:-Europe/Brussels}
- CURRENCY=${CURRENCY:-EUR}
- ROUNDING_MINUTES=${ROUNDING_MINUTES:-1}
- SINGLE_ACTIVE_TIMER=${SINGLE_ACTIVE_TIMER:-true}
- ALLOW_SELF_REGISTER=${ALLOW_SELF_REGISTER:-true}
- IDLE_TIMEOUT_MINUTES=${IDLE_TIMEOUT_MINUTES:-30}
- ADMIN_USERNAMES=${ADMIN_USERNAMES:-admin}
- SECRET_KEY=${SECRET_KEY:-local-test-secret-key}
# Use SQLite database for local testing
- DATABASE_URL=sqlite:////data/timetracker.db
- LOG_FILE=/app/logs/timetracker.log
# Disable secure cookies for local testing
- SESSION_COOKIE_SECURE=false
- REMEMBER_COOKIE_SECURE=false
# Set Flask environment for development
- FLASK_ENV=development
- FLASK_DEBUG=true
ports:
- "8080:8080"
volumes:
# Mount data directory for SQLite database and uploads
- app_data_local_test:/data
# Mount logs directory for easier debugging
- ./logs:/app/logs
restart: unless-stopped
# Run as root initially to set up permissions, then switch to timetracker user
user: "0:0"
# Use custom entrypoint for local testing
entrypoint: ["/app/docker/entrypoint-local-test.sh"]
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/_health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
volumes:
app_data_local_test:
driver: local