{"id":23404726,"url":"https://github.com/prrockzed/dockerlogstreamer","last_synced_at":"2026-04-07T07:43:36.305Z","repository":{"id":269221785,"uuid":"906259126","full_name":"prrockzed/DockerLogStreamer","owner":"prrockzed","description":"Real Time Streaming, Searching and Filtering of Docker Logs","archived":false,"fork":false,"pushed_at":"2024-12-22T09:45:46.000Z","size":226,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T22:47:35.791Z","etag":null,"topics":["docker","docker-container","docker-logs","logs","mongodb","nodejs","reactjs","streaming","web-appliation"],"latest_commit_sha":null,"homepage":"https://docker-log-streamer.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prrockzed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-20T13:55:56.000Z","updated_at":"2024-12-22T09:45:49.000Z","dependencies_parsed_at":"2024-12-21T22:27:33.133Z","dependency_job_id":null,"html_url":"https://github.com/prrockzed/DockerLogStreamer","commit_stats":null,"previous_names":["prrockzed/dockerlogstreamer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prrockzed%2FDockerLogStreamer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prrockzed%2FDockerLogStreamer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prrockzed%2FDockerLogStreamer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prrockzed%2FDockerLogStreamer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prrockzed","download_url":"https://codeload.github.com/prrockzed/DockerLogStreamer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247941717,"owners_count":21022037,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-container","docker-logs","logs","mongodb","nodejs","reactjs","streaming","web-appliation"],"created_at":"2024-12-22T13:15:30.496Z","updated_at":"2025-12-30T20:04:03.617Z","avatar_url":"https://github.com/prrockzed.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker Logs Streamer\n\nThis project is a web application for real-time streaming, searching, and filtering of logs from a live Docker container. The application streams live logs from a container, stores them in MongoDB Atlas, and provides a user-friendly interface to search and filter logs by timestamp.\n\n## Features\n\n- **Real-time Log Streaming**: Continuously streams logs from a Docker container and displays them on the frontend.\n- **Search Logs**: Allows users to search logs using a specific keyword or phrase.\n- **Filter by Timestamp**: Enables users to filter logs based on a date and time range.\n- **MongoDB Atlas Integration**: Stores streamed logs in MongoDB for persistent storage and querying.\n\n## Technologies Used\n\n### Frontend\n- React.js\n  - Components:\n    - `LiveLogs`: Displays live logs and results.\n    - `SearchLogs`: Provides a search bar to query logs.\n    - `FilterLogs`: Allows filtering of logs by timestamp.\n- WebSocket for real-time log streaming.\n- REST API for search and filter functionalities.\n\n### Backend\n- Node.js with Express.js\n- WebSocket for live log streaming.\n- MongoDB Atlas for log storage.\n- Mongoose for MongoDB interaction.\n\n## Folder Structure\n\n### Frontend\n```\n/src\n|-- components\n|   |-- LogViewer.js       # Main component combining live logs, search, and filter\n|   |-- LiveLogs.js        # Displays log entries\n|   |-- SearchLogs.js      # Handles search functionality\n|   |-- FilterLogs.js      # Handles filter functionality\n|-- services\n|   |-- api.js             # API calls for search and filter\n|-- App.js                 # Main application entry\n```\n\n### Backend\n```\n/backend\n│-- config\n│   │-- db.js                # MongoDB connection setup\n│\n│-- models\n│   │-- Log.js               # Mongoose schema and model for logs\n│\n│-- routes\n│   │-- search.js            # Search logs API route\n│   │-- filter.js            # Filter logs API route\n│\n│-- services\n│   │-- dockerLogs.js        # Docker log streaming logic\n│\n│-- utils\n│   │-- env.js               # Utility to load environment variables\n│\n│-- .env                     # Environment variables file (MongoDB URI, etc.)\n│-- .gitignore               # Git ignore file to exclude sensitive files\n│-- index.js                 # Main application entry point\n│-- package.json             # Node.js project metadata and dependencies\n│-- package-lock.json        # Dependency lockfile\n\n```\n\n## Setup Instructions\n\n### Prerequisites\n- Docker installed and running.\n- Node.js and npm installed.\n- MongoDB Atlas account with a connection string.\n- A Docker container to stream logs from (example: an nginx container).\n\n### Backend Setup\n1. Clone this repository:\n   ```bash\n   git clone \u003crepository_url\u003e\n   cd \u003crepository_folder\u003e/backend\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Configure MongoDB:\n   - Replace `your_mongodb_atlas_connection_string` in `index.js` with your MongoDB Atlas connection string.\n\n4. Start the backend:\n   ```bash\n   node index.js\n   ```\n\n### Frontend Setup\n1. Navigate to the frontend folder:\n   ```bash\n   cd \u003crepository_folder\u003e/frontend\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Start the React development server:\n   ```bash\n   npm start\n   ```\n\n4. Open your browser and navigate to:\n   ```\n   http://localhost:3000\n   ```\n\n### Running the Application\n1. Ensure your Docker container is running. Replace `log-container` in the backend with your container name.\n   ```bash\n   docker run --name log-container -d \u003cimage_name\u003e\n   ```\n2. Start the backend and frontend servers as described above.\n3. Use the application to view live logs, search logs, and filter logs by timestamp.\n\n\n## Contribution\nFeel free to contribute by submitting issues or pull requests. Follow the [GitHub Flow](https://guides.github.com/introduction/flow/) for contributions.\n\n## License\nThis project is licensed under the MIT License.\n\n---\n\nHappy Logging!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprrockzed%2Fdockerlogstreamer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprrockzed%2Fdockerlogstreamer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprrockzed%2Fdockerlogstreamer/lists"}