LoggingHive is an open-source, self-hostable logging platform built for simplicity and ease of use. Keep track of your application logs in a centralized, organized way without the complexity of enterprise solutions.
- π Simple Setup - Get started in minutes with Docker
- π Secure - Built-in authentication and API key management
- π Organized - Structure logs by organizations and projects
- π³ Self-Hostable - Complete control over your data
- π Log Management - Filter and search through your log entries
- π API Key Management - Generate and manage API keys per project
You need to provide a database URL via the DATABASE_URL environment variable. LoggingHive uses PostgreSQL as its
database.
-
Pull the Docker image:
docker pull ghcr.io/nicogenz/logginghive:latest
-
Run the container:
docker run -p 3000:3000 \ -e DATABASE_URL="postgresql://username:password@host:5432/database" \ --name logginghive \ ghcr.io/nicogenz/logginghive:latest -
Access LoggingHive at
http://localhost:3000
-
Clone the repository:
git clone https://github.com/nicogenz/logginghive.git cd logginghive -
Install dependencies:
npm install
-
Set up your environment variables:
echo 'DATABASE_URL="postgresql://username:password@localhost:5432/database"' > .env
-
Run database migrations:
npm run db:dev:migrate
-
Start the development server:
npm run dev
-
Access the application at
http://localhost:3000
Once you have created an organization, project, and API key, you can send logs using a simple HTTP POST request:
curl -X POST http://localhost:3000/api/v1/log-entries \ -H "Content-Type: application/json" \ -H "Authorization: your-api-key-here" \ -d '{ "message": "This is a log message", "level": "INFO", "metadata": { "userId": "12345", "action": "user_login" } }'
Available log levels: DEBUG, INFO, WARN, ERROR, FATAL
| Variable | Description | Required | Default |
|---|---|---|---|
DATABASE_URL |
PostgreSQL connection string | Yes | - |
# Install dependencies npm install # Generate Prisma client npm run db:generate # Build the application npm run build # Start the production server npm run start
# Generate Prisma client npm run db:generate # Push schema changes (development) npm run db:dev:push # Create a migration (development) npm run db:dev:migrate # Deploy migrations (production) npm run db:prod:migrate # Reset database (development) npm run db:dev:reset
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.
If you encounter any issues or have questions, please open an issue on GitHub.