- Employee name validation for all submissions - Complete entry validation (all fields required when any field has input) - Dynamic auto-resizing work description fields - Optimized field layout (Homeowner → Hours → Work Description) - Professional PDF generation with validation - Email/share functionality with validation - Data import/export capabilities - Dark/light theme support - Mobile-responsive design - Local data persistence - Multiple entries per day support - Custom homeowner management - Comprehensive README with deployment instructions - Production build ready for web hosting
38 lines
812 B
YAML
38 lines
812 B
YAML
version: '3.8'
|
|
|
|
services:
|
|
coastal-timesheet:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: coastal-timesheet-app
|
|
ports:
|
|
- "8080:80"
|
|
environment:
|
|
- NODE_ENV=production
|
|
restart: unless-stopped
|
|
networks:
|
|
- timesheet-network
|
|
|
|
# Optional: Add a reverse proxy with SSL if needed
|
|
# nginx-proxy:
|
|
# image: nginx:alpine
|
|
# container_name: coastal-timesheet-proxy
|
|
# ports:
|
|
# - "80:80"
|
|
# - "443:443"
|
|
# volumes:
|
|
# - ./proxy.conf:/etc/nginx/nginx.conf
|
|
# - ./ssl:/etc/nginx/ssl
|
|
# depends_on:
|
|
# - coastal-timesheet
|
|
# networks:
|
|
# - timesheet-network
|
|
|
|
networks:
|
|
timesheet-network:
|
|
driver: bridge
|
|
|
|
# Optional: Add volumes for persistent storage if needed in future
|
|
# volumes:
|
|
# timesheet-data: |