diff --git a/Dockerfile b/Dockerfile index 6dd97e5..cbcd772 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Production Dockerfile with FrankenPHP -FROM dunglas/frankenphp:latest-php8.4-alpine +FROM dunglas/frankenphp:latest-php8.3-alpine # Install system dependencies RUN apk add --no-cache \ diff --git a/Dockerfile.dev b/Dockerfile.dev index 53ac66f..f2a67c5 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -1,5 +1,5 @@ # Development Dockerfile with FrankenPHP -FROM dunglas/frankenphp:latest-php8.4-alpine +FROM dunglas/frankenphp:latest-php8.3-alpine # Install system dependencies + development tools RUN apk add --no-cache \ diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 058585d..399f834 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -5,7 +5,7 @@ services: container_name: buckets_app restart: always ports: - - "8000:8000" + - "8100:8000" environment: # Required from user APP_KEY: "${APP_KEY}" # Critical - must persist across deployments diff --git a/docker-compose.yml b/docker-compose.yml index f8492cd..5020ef8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,16 +11,16 @@ services: # Remove user directive to run as root in container # The container will handle permissions internally ports: - - "8000:8000" # Laravel app - - "5173:5173" # Vite dev server + - "8100:8000" # Laravel app + - "5174:5173" # Vite dev server environment: - # Laravel + # Laravel APP_NAME: "${APP_NAME:-buckets}" APP_ENV: "${APP_ENV:-local}" APP_KEY: "${APP_KEY:-base64:YOUR_KEY_HERE}" APP_DEBUG: "${APP_DEBUG:-true}" - APP_URL: "${APP_URL:-http://localhost:8000}" - + APP_URL: "${APP_URL:-http://localhost:8100}" + # Database DB_CONNECTION: mysql DB_HOST: db @@ -28,17 +28,18 @@ services: DB_DATABASE: "${DB_DATABASE:-buckets}" DB_USERNAME: "${DB_USERNAME:-buckets}" DB_PASSWORD: "${DB_PASSWORD:-buckets}" - + # Session & Cache SESSION_DRIVER: "${SESSION_DRIVER:-file}" CACHE_DRIVER: "${CACHE_DRIVER:-file}" QUEUE_CONNECTION: "${QUEUE_CONNECTION:-sync}" - + # Mail (for development) MAIL_MAILER: "${MAIL_MAILER:-log}" - + # Vite VITE_HOST: "0.0.0.0" + VITE_PORT: "5174" volumes: # Mount entire project for hot reload with SELinux context - .:/app:Z @@ -55,7 +56,7 @@ services: container_name: buckets_db restart: unless-stopped ports: - - "3306:3306" + - "3307:3306" environment: MYSQL_DATABASE: "${DB_DATABASE:-buckets}" MYSQL_USER: "${DB_USERNAME:-buckets}" @@ -79,8 +80,8 @@ services: container_name: buckets_mailhog restart: unless-stopped ports: - - "1025:1025" # SMTP server - - "8025:8025" # Web UI + - "1026:1025" # SMTP server + - "8026:8025" # Web UI networks: - buckets @@ -90,8 +91,8 @@ services: container_name: buckets_selenium restart: unless-stopped ports: - - "4444:4444" # Selenium server - - "7900:7900" # VNC server for debugging + - "4445:4444" # Selenium server + - "7901:7900" # VNC server for debugging volumes: - /dev/shm:/dev/shm networks: @@ -116,4 +117,4 @@ networks: volumes: db_data: app_vendor: - app_node_modules: \ No newline at end of file + app_node_modules: diff --git a/package-lock.json b/package-lock.json index 5ae28a9..16ccd06 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "buckets", + "name": "app", "lockfileVersion": 3, "requires": true, "packages": { diff --git a/shell.nix b/shell.nix index 39839a5..a522393 100644 --- a/shell.nix +++ b/shell.nix @@ -50,6 +50,12 @@ pkgs.mkShell { echo "🚀 Starting development environment..." PODMAN_USERNS=keep-id podman-compose up -d echo "✅ Dev environment started!" + echo "" + echo "📍 Services available at:" + echo " App: http://localhost:8100" + echo " Vite: http://localhost:5174" + echo " Mailhog: http://localhost:8026" + echo " MariaDB: localhost:3307" } dev-down() { @@ -160,10 +166,10 @@ pkgs.mkShell { echo "" echo "✅ Services should be available at:" - echo " App: http://localhost:8000" - echo " Vite: http://localhost:5173" - echo " Mailhog: http://localhost:8025" - echo " MariaDB: localhost:3306" + echo " App: http://localhost:8100" + echo " Vite: http://localhost:5174" + echo " Mailhog: http://localhost:8026" + echo " MariaDB: localhost:3307" echo "" echo "Run 'podman-compose logs -f app' to follow logs" fi diff --git a/vite.config.ts b/vite.config.ts index a1f1c9e..2e5db53 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -24,4 +24,12 @@ export default defineConfig({ esbuild: { jsx: 'automatic', }, + server: { + host: '0.0.0.0', + port: 5173, + strictPort: true, + hmr: { + clientPort: 5174, + }, + }, });