{"id":26562968,"url":"https://github.com/imshakil/logpulse","last_synced_at":"2026-05-09T10:52:38.142Z","repository":{"id":266198693,"uuid":"891003587","full_name":"imShakil/LogPulse","owner":"imShakil","description":"A Flask-based web application for real-time log monitoring and management across multiple directories.","archived":false,"fork":false,"pushed_at":"2025-03-18T03:48:45.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T04:27:03.050Z","etag":null,"topics":["flask","flask-sqlalchemy","logging","monitoring","postgresql","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imShakil.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-11-19T15:01:03.000Z","updated_at":"2025-03-18T03:45:23.000Z","dependencies_parsed_at":"2025-03-18T04:27:09.529Z","dependency_job_id":"7b23dc08-8d56-4615-9e2a-bb7bd9950e99","html_url":"https://github.com/imShakil/LogPulse","commit_stats":null,"previous_names":["imshakil/reporting","imshakil/logpulse"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imShakil%2FLogPulse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imShakil%2FLogPulse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imShakil%2FLogPulse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imShakil%2FLogPulse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imShakil","download_url":"https://codeload.github.com/imShakil/LogPulse/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244977894,"owners_count":20541755,"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":["flask","flask-sqlalchemy","logging","monitoring","postgresql","python3"],"created_at":"2025-03-22T15:29:29.869Z","updated_at":"2026-05-09T10:52:33.068Z","avatar_url":"https://github.com/imShakil.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LogPulse\n\nA Flask-based web application for real-time log monitoring and management across multiple directories.\n\n## Features\n\n- Real-time log streaming\n- Multi-directory log monitoring\n- Secure authentication (Local DB and/or API)\n- Download logs functionality\n- Session management\n\n## Prerequisites\n\n- Python 3.8 or higher\n- PostgreSQL (for local authentication)\n- pip (Python package manager)\n\n## Installation\n\n1. Clone the repository:\n\n    ```bash\n    git clone https://github.com/imShakil/LogPulse.git\n    cd LogPulse\n    ```\n\n2. Create and activate a virtual environment:\n\n    ```bash\n    python -m venv venv\n    source venv/bin/activate\n    ```\n\n3. Install dependencies:\n\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n4. Configure environment variables:\n\n    ```bash\n    cp .env.example .env # Rename to .env and update the value as needed\n    ```\n\n## Running the Application\n\n1. Using Python directly:\n\n    ```bash\n    python report.py\n    ```\n\n2. Using PM2 (Recommended for production):\n\n    ```bash\n    # Install PM2 if not installed\n    npm install pm2 -g\n\n    # Start using ecosystem config\n    pm2 start ecosystem.config.js\n\n    # Other useful PM2 commands\n    pm2 status                  # Check application status\n    pm2 logs logpulse          # View logs\n    pm2 restart logpulse       # Restart application\n    pm2 stop logpulse          # Stop application\n    pm2 delete logpulse        # Remove from PM2\n\n    # For production environment\n    pm2 start ecosystem.config.js --env production\n    ```\n\n3. Access the application in your web browser at `http://localhost:5000`\n\nNote: The application includes a PM2 ecosystem configuration file [`ecosystem.config.js`](./ecosystem.config.js) that handles:\n\n- Python interpreter settings\n- Instance management\n- Auto-restart capability\n- Memory limits\n- Environment-specific configurations\n\n## Authentication Modes\n\n1. Local Database (MODE 0)\n   - Uses PostgreSQL for user authentication\n   - Requires database configuration\n   - Default user: `admin`, password: `admin123` if no password is set on environment variable\n\n2. API Authentication (MODE 1)\n   - Uses external API for authentication\n   - Requires valid API endpoint configuration\n\n3. Hybrid Mode (MODE 2)\n   - Attempts API authentication first\n   - Falls back to local database if API fails\n\n## Directory Structure\n\n```plaintext\nLogPulse/\n├── auth/\n│   └── auth.py\n├── services/\n│   ├── logger.py\n│   ├── log_manager.py\n│   ├── log_stream_reader.py\n│   └── log_download.py\n|   └── log_directory.py\n|   └── file_system_log_directory.py\n├── static/\n│   └── css/\n│       └── style.css\n├── templates/\n│   ├── login.html\n│   └── log_viewer.html\n├── .env\n├── requirements.txt\n└── logpulse.py\n```\n\n## Security Considerations\n\n- Secure log access\n- Use HTTPS in production\n- Use environment variables for sensitive data\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimshakil%2Flogpulse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimshakil%2Flogpulse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimshakil%2Flogpulse/lists"}