expo-popcore-old/.devcontainer/docker-compose.webstorm.yml

56 lines
1.5 KiB
YAML

version: '3.8'
services:
expo-android:
build:
context: .
dockerfile: Dockerfile
container_name: expo-eas-android-webstorm
volumes:
- ../../../:/workspace
- android_gradle:/root/.gradle
- android_sdk:/root/.android
# Additional volumes for WebStorm
- webstorm_config:/root/.config/JetBrains
- webstorm_system:/root/.local/share/JetBrains
ports:
- "8081:8081" # Metro bundler
- "19000:19000" # Expo dev server
- "19001:19001" # Expo dev server HTTPS
- "19002:19002" # Expo dev server alternate
environment:
- NODE_ENV=development
- ANDROID_HOME=/opt/android-sdk
- JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
- GRADLE_USER_HOME=/root/.gradle
- EXPO_NO_DOTENV=1
- EXPO_DEBUG=1
# WebStorm specific environment variables
- DISPLAY=${DISPLAY:-:0}
- XDG_RUNTIME_DIR=/tmp/runtime-root
working_dir: /workspace
command: sleep infinity
privileged: true # Required for Android emulator if needed
devices:
- /dev/kvm # For Android emulator acceleration
# Network configuration for better IDE connectivity
networks:
- expo-network
# Health check for IDE connectivity
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8081"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
volumes:
android_gradle:
android_sdk:
webstorm_config:
webstorm_system:
networks:
expo-network:
driver: bridge