- Von 16 .env Dateien auf 2 zentrale reduziert * docker/dev/.env - Development Secrets * docker/prod/.env - Production Secrets - Alle ENV-Variablen jetzt in docker-compose.yml environment sections - .env COPY aus allen Dockerfiles entfernt (wurden durch volume mounts überschrieben) - Frontend env.sh umgeschrieben: Liest ENV-Variablen statt .env Datei - CLIENT_URL komplett entfernt (wurde nirgendwo verwendet) - Fix: management.js nutzt platform_name statt name (DB-Schema korrekt) ENV-Handling jetzt deutlich einfacher und wartbarer! Von 4 Frontend ENV-Variablen auf 3 reduziert (API_URL, PUBLIC_HOST, INTERNAL_HOST)
78 lines
2.1 KiB
YAML
78 lines
2.1 KiB
YAML
# 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 |