version: '3' services: redis: image: redis:latest command: redis-server restart: always networks: - dbnet expose: - 6379 volumes: - redis_data:/data safeshare: image: amusement3004/safeshare:latest restart: always ports: - "8000:8000" # Map container port 8000 to host port 8000 environment: - DEBUG=True - SECRET_KEY=A_RANDOM_SECRET_KEY - ALLOWED_HOSTS=* - CACHE=True - REDIS_HOST=redis - REDIS_PORT=6379 - REDIS_DB=0 - TRASH_TIMEOUT=60 depends_on: - redis networks: - dbnet frontend: image: amusement3004/safeshare-frontend:latest restart: always ports: - "3000:3000" # Map container port 3000 to host port 3000 environment: - REACT_APP_API_URL=http://localhost:8000/api networks: - dbnet safeshare-virus: image: amusement3004/safeshare_vdb:latest restart: always ports: - "50051:50051" environment: - API_TOKEN=YOUR_API_TOKEN networks: - dbnet volumes: redis_data: networks: dbnet: