# Development Environment # Usage: docker compose -f docker/dev/docker-compose.yml up -d # Or use: ./dev.sh services: frontend-dev: container_name: image-uploader-frontend-dev user: root build: context: ../../ dockerfile: docker/dev/frontend/Dockerfile working_dir: /app ports: - "3000:80" volumes: - ../../frontend:/app:cached - dev_frontend_node_modules:/app/node_modules environment: - CHOKIDAR_USEPOLLING=true - API_URL=http://localhost:5001 - PUBLIC_HOST=public.test.local - INTERNAL_HOST=internal.test.local depends_on: - backend-dev networks: - dev-internal backend-dev: container_name: image-uploader-backend-dev user: "1000:1000" build: context: ../../ dockerfile: docker/dev/backend/Dockerfile working_dir: /usr/src/app ports: - "5001:5000" volumes: - ../../backend:/usr/src/app:cached - dev_backend_node_modules:/usr/src/app/node_modules environment: - NODE_ENV=development - PORT=5000 - REMOVE_IMAGES=false - ADMIN_SESSION_SECRET=${ADMIN_SESSION_SECRET:-dev-session-secret-change-me} - PUBLIC_HOST=public.test.local - INTERNAL_HOST=internal.test.local - ENABLE_HOST_RESTRICTION=true - TRUST_PROXY_HOPS=0 - PUBLIC_UPLOAD_RATE_LIMIT=20 - TELEGRAM_ENABLED=${TELEGRAM_ENABLED:-false} - TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN} - TELEGRAM_CHAT_ID=${TELEGRAM_CHAT_ID} - TELEGRAM_SEND_TEST_ON_START=${TELEGRAM_SEND_TEST_ON_START:-false} networks: - dev-internal command: [ "npm", "run", "server" ] sqliteweb: image: tomdesinto/sqliteweb ports: - "8080:8080" volumes: - ../../backend/src/data:/usr/src/app/src/data:ro # identischer Host-Pfad wie im Backend command: /usr/src/app/src/data/db/image_uploader.db networks: - dev-internal depends_on: - backend-dev networks: dev-internal: driver: bridge volumes: dev_frontend_node_modules: driver: local dev_backend_node_modules: driver: local