diff --git a/Dockerfile b/Dockerfile index c480e43..5193676 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,4 +34,4 @@ WORKDIR /app COPY . /app ENTRYPOINT ["/docker-entrypoint.sh"] -CMD ["python3", "manage.py", "runserver", "0.0.0.0:8000"] \ No newline at end of file +CMD ["python3", "manage.py", "runserver", "0.0.0.0:8080"] \ No newline at end of file diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index b00d24f..72a5d21 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -15,8 +15,8 @@ services: - DEBUG=true - PYTHONUNBUFFERED=1 ports: - - "8000:8000" + - "8080:8080" # Optional: skip entrypoint migrations on every start for faster restart - # command: ["python3", "manage.py", "runserver", "0.0.0.0:8000"] + # command: ["python3", "manage.py", "runserver", "0.0.0.0:8080"] stdin_open: true tty: true diff --git a/docker-compose.yml b/docker-compose.yml index fb0971c..d6707bd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,13 +10,13 @@ services: dockerfile: Dockerfile container_name: watcher-visio ports: - - "8000:8000" + - "8080:8080" environment: - PYTHONUNBUFFERED=1 # Override via environment or env_file (e.g. env_file: .env): # PROMETHEUS_URL, OPENSTACK_CLOUD, OPENSTACK_REGION_NAME, SECRET_KEY healthcheck: - test: ["CMD", "curl", "-f", "http://127.0.0.1:8000/"] + test: ["CMD", "curl", "-f", "http://127.0.0.1:8080/"] interval: 30s timeout: 10s retries: 3 diff --git a/static/css/main.css b/static/css/main.css index 38b767d..b1de8db 100644 --- a/static/css/main.css +++ b/static/css/main.css @@ -49,11 +49,12 @@ --color-base-200: oklch(19% 0.012 260); --color-base-300: oklch(16% 0.01 260); --color-base-content: oklch(96% 0.01 260); - --color-primary: #0a2973; + /* Lighter primary/secondary for readability on dark background (cards, progress, %) */ + --color-primary: oklch(65% 0.2 260); --color-primary-content: #ffffff; - --color-secondary: #009fdf; + --color-secondary: oklch(72% 0.16 230); --color-secondary-content: #ffffff; - --color-accent: #009fdf; + --color-accent: oklch(72% 0.16 230); --color-accent-content: #ffffff; --color-neutral: oklch(28% 0.02 260); --color-neutral-content: oklch(92% 0.004 286.32); @@ -114,6 +115,33 @@ background-color: var(--color-base-200); } +/* Dark theme: improve contrast for muted text and controls */ +[data-theme=dark] .text-base-content\/60 { + color: color-mix(in oklch, var(--color-base-content) 88%, transparent); +} +[data-theme=dark] .text-base-content\/70 { + color: color-mix(in oklch, var(--color-base-content) 92%, transparent); +} +[data-theme=dark] .text-base-content\/30 { + color: color-mix(in oklch, var(--color-base-content) 55%, transparent); +} +[data-theme=dark] .badge-outline { + border-color: color-mix(in oklch, var(--color-base-content) 75%, transparent); + color: color-mix(in oklch, var(--color-base-content) 90%, transparent); +} +[data-theme=dark] .badge-neutral { + background-color: var(--color-base-300); + color: var(--color-base-content); + border-color: transparent; +} +[data-theme=dark] .btn-ghost { + color: color-mix(in oklch, var(--color-base-content) 90%, transparent); +} +[data-theme=dark] .btn-ghost:hover { + color: var(--color-base-content); + background-color: color-mix(in oklch, var(--color-base-content) 12%, transparent); +} + /* Accessibility: ensure focus ring is visible on key controls */ .btn:focus-visible, .select:focus-within,