Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add dockerfile for using custom console build #920

Merged
merged 1 commit into from
Sep 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions Dockerfile.dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Parseable Server (C) 2022 - 2024 Parseable, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

# build stage
FROM rust:1.77.1-bookworm AS builder

LABEL org.opencontainers.image.title="Parseable"
LABEL maintainer="Parseable Team <hi@parseable.io>"
LABEL org.opencontainers.image.vendor="Parseable Inc"
LABEL org.opencontainers.image.licenses="AGPL-3.0"

WORKDIR /parseable
COPY . .

## Ensure that you build the console assests https://github.com/parseablehq/console?tab=readme-ov-file#trophy-development-and-contributing
## Then create a dist folder in the root of the this directory and copy the contents of the console/dist folder into the dist folder
ENV LOCAL_ASSETS_PATH=/parseable/dist
RUN cargo build --release

# final stage
FROM gcr.io/distroless/cc-debian12:latest

WORKDIR /parseable

# Copy the static shell into base image.
COPY --from=builder /parseable/target/release/parseable /usr/bin/parseable

CMD ["/usr/bin/parseable"]
41 changes: 10 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<a href="https://www.parseable.io" target="_blank"><img src="https://raw.githubusercontent.com/parseablehq/.github/main/images/logo.svg" alt="Parseable" width="600" height="150" /></a>
</picture>
<br>
Log Lake for the cloud-native world
The <i>versatile</i> log database for search, analysis, and monitoring
</h2>

<div align="center">
Expand All @@ -19,7 +19,7 @@

</div>

Parseable is a **cloud native, log analytics platform, with a focus on performance & resource efficiency**. Parseable is useful for use cases where **complete data ownership, security and privacy are paramount**.
Parseable is a **cloud native log analytics platform, with a focus on simplicity & resource efficiency**. Parseable is useful for use cases where **complete data ownership, security and privacy are paramount**.

To experience Parseable UI, checkout [demo.parseable.com ↗︎](https://demo.parseable.com/login?q=eyJ1c2VybmFtZSI6ImFkbWluIiwicGFzc3dvcmQiOiJhZG1pbiJ9). You can also view the [demo video ↗︎](https://www.parseable.com/video.mp4).

Expand Down Expand Up @@ -97,40 +97,24 @@ curl --location --request POST 'http://localhost:8000/api/v1/ingest' \
</p>
</details>

## Why Parseable :question:
## Features :rocket:

### Performance & resource efficiency

Parseable is written in Rust, with a clear focus on performance while ensuring a much lower CPU and memory footprint (compared to Java, Go based systems). When compared with Elastic, Parseable uses ~80% lesser memory and ~50% lesser CPU, while offering a better ingestion rate. This means you can run Parseable on smaller instances, saving costs.

### Easy of use

One of the key challenges users said they face today is the complexity of setting a logging system like Elastic. There are so many moving parts, and it's hard to get started. Parseable is designed to be simple to use, with a single binary that can be run on almost anywhere. The Console is built in the binary itself, so you can start using it without any additional setup.

### Take control of your data

With Apache Arrow and Apache Parquet as the underlying data formats, Parseable stores log data in an optimized, compressed manner as Parquet files. This means you get complete control and access to your data. You can use Parseable query and analysis, but also can plugin tools from wider Parquet ecosystem for further processing, analysis, and visualization.

### Enterprise ready

- High availability & Cluster mode
- Local cache & storage
- [OpenTelemetry support ↗︎](https://opentelemetry.io/)
- [High availability & Cluster mode ↗︎](https://www.parseable.com/docs/concepts/distributed-architecture)
- [Local cache ↗︎](https://www.parseable.com/docs/features/tiering)
- [Alerts ↗︎](https://www.parseable.io/docs/alerts)
- [Role based access control ↗︎](https://www.parseable.io/docs/rbac)
- [OAuth2 support ↗︎](https://www.parseable.io/docs/oidc)
- [Grafana based visualization ↗︎](https://github.com/parseablehq/parseable-datasource)
- [LLM ↗︎](https://www.parseable.io/docs/llm)
- [Stats ↗︎](https://www.postman.com/parseable/workspace/parseable/request/22353706-b32abe55-f0c4-4ed2-9add-110d265888c3)
- [LLM integration ↗︎](https://www.parseable.io/docs/llm)
- [OpenTelemetry support ↗︎](https://www.parseable.com/docs/opentelemetry)

## How do people use Parseable :bulb:

- **Log Analytics** - Not all logs are created equal. For example application logs are seldom useful after a few days pass, but if same application also logs all the user interactions, that data is very valuable for product managers, and can be stored for a longer period. Several businesses store such high value logs and slice / dice them as needed.

- **Audit & Compliance** - Organizations that need to store logs in a secure, compliant manner. Parseable's direct to S3 bucket storage mode ensures that logs are stored in a secure, cost effective manner, and can be accessed only by authorized users, while all the data is queryable in real-time.

- **Observability & Monitoring** - A very large chunk of observability data is logs. Organizations that need to monitor their systems, applications, and infrastructure in real-time use Parseable as the primary log storage system so they get timely alerts, and can analyze logs in real-time.

- **Log Analytics** - Not all logs are created equal. For example application logs are seldom useful after a few days pass, but if same application also logs all the user interactions, that data is very valuable for product managers, and can be stored for a longer period. Several businesses store such high value logs and slice / dice them as needed.

## Motivation :dart:

Traditionally, logging has been seen as a text search problem. Log volumes were not high, and data ingestion or storage were not really issues. This led us to today, where all the logging platforms are primarily text search engines.
Expand All @@ -139,11 +123,6 @@ But with log data growing exponentially, today's log data challenges involve who

## Contributing :trophy:

[Contribution guide ↗︎](https://www.parseable.io/docs/contributing).

<a href="https://github.com/parseablehq/parseable/graphs/contributors"><img src="https://contrib.rocks/image?repo=parseablehq/parseable" /></a>

### Supported by

<a href="https://fossunited.org/" target="_blank"><img src="http://fossunited.org/files/fossunited-badge.svg"></a>
<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=cb5c7633-1c88-4792-be58-6228c476cef5" />
[Contribution guide ↗︎](https://www.parseable.com/docs/contributing)
Loading