services: redis: image: redis:7-alpine restart: unless-stopped volumes: - redis_data:/data backend: build: ./backend restart: unless-stopped env_file: ./backend/.env environment: - REDIS_URL=redis://redis:6379/0 - DATABASE_URL=sqlite:///./data/gofetch.db volumes: - backend_db:/app/data - backend_chroma:/app/chroma_data depends_on: - redis ports: - "127.0.0.1:8000:8000" celery-worker: build: ./backend restart: unless-stopped command: celery -A app.workers worker --loglevel=info env_file: ./backend/.env environment: - REDIS_URL=redis://redis:6379/0 - DATABASE_URL=sqlite:///./data/gofetch.db volumes: - backend_db:/app/data - backend_chroma:/app/chroma_data depends_on: - redis celery-beat: build: ./backend restart: unless-stopped command: celery -A app.workers beat --loglevel=info env_file: ./backend/.env environment: - REDIS_URL=redis://redis:6379/0 - DATABASE_URL=sqlite:///./data/gofetch.db volumes: - backend_db:/app/data - backend_chroma:/app/chroma_data depends_on: - redis frontend: build: context: ./frontend args: NEXT_PUBLIC_API_BASE_URL: https://gofetchnotes.me/api restart: unless-stopped ports: - "127.0.0.1:3000:3000" depends_on: - backend volumes: redis_data: backend_db: backend_chroma: