mirror of
https://github.com/DRYTRIX/TimeTracker.git
synced 2025-12-31 00:09:58 -06:00
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)
45 lines
1.5 KiB
YAML
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
|