A few months ago, I introduced Celeris and shared some of the ideas behind the project. Since then, development has continued, and I wanted to give an update on where things stand today.
What is Celeris?
Celeris is a lightweight web server written in C++ that aims to make server development simpler through declarative configuration.
Rather than writing large amounts of boilerplate code to configure routes, authentication, file handling, and other common server functionality, Celeris allows developers to define much of their server's behavior through an HTML-like configuration language.
The goal is to provide a fast, efficient server while keeping configuration readable and easy to maintain.
Example Configuration
Below is a simplified example to illustrate the idea (the actual syntax may differ as the project evolves):
<route path="/" method="GET">
<response>Hello World!</response>
</route>
<static path="/assets" directory="./public" />
Instead of writing code to register routes and configure the server programmatically, developers can define their server structure declaratively and focus on building their applications.
Built Around Extensibility
One of the core ideas behind Celeris is that the server should remain lean.
Instead of bundling every possible feature into the core, Celeris follows a plugin-based architecture. Developers can add functionality as needed without increasing the complexity of the base system.
For example:
- Email functionality can be added through a plugin.
- Authentication systems can be extended through plugins.
- You can develop third-party integrations independently.
- Custom server features can be packaged and shared with others.
This allows projects to remain lightweight while still being highly customizable.
Why I'm Building It
As I've worked with different web frameworks and servers, I've often found myself writing the same setup code repeatedly before getting to the actual application logic.
Celeris is my attempt to reduce that friction.
I wanted something that combined the performance of native C++, a simple and declarative configuration model, a modular plugin ecosystem and flexibility for both small and large projects
Essentially, I started Celeris because I wanted the simplicity of configuring Nginx, the flexibility of a web framework, and the performance of native C++
Current Development
At the moment, I'm actively working on improving concurrency, request handling, and expanding the overall capabilities of the server.
Some of the features currently being developed or planned include:
- Advanced routing
- Authentication and authorization
- Database integration
- Plugin management
- Improved concurrency and scalability
- Developer-friendly tooling
The long-term vision is to build a powerful and approachable web server that gives developers the performance benefits of C++ without sacrificing ease of use.
Looking for Contributors
Open source projects grow through community involvement, and I'm currently looking for people who would like to help shape Celeris.
You don't need to be a C++ expert to contribute. There are many ways to get involved. You can open issues and report bugs, improve documentation, review existing code, suggest features and improvements, contribute code, build plugins, test new functionality and provide feedback
Whether you're an experienced systems programmer or someone looking to make their first open-source contribution, your help would be greatly appreciated.
The project is open source and available on GitHub:
https://github.com/amethystcoder/celeris
Feel free to check it out, open an issue, submit a pull request, or start a discussion.
I'd love to hear your thoughts, feedback, and ideas as Celeris continues to evolve.
For further actions, you may consider blocking this person and/or reporting abuse
