luciders/README.md
2024-11-04 17:34:32 +11:00

1.8 KiB

luciders Server

Dynamically serving up lucide icons. Powered by 🦀 Rust!

This project is focuses on minimising resource usage and maximising performance. It is designed to be run on a server and used as an API endpoint for other projects rather than being a standalone application.

Please see /info endpoint handler in src/main.rs for more API details.

Setup Instructions

You will want a copy of the icons dir from the Lucide Github Repo in the root of this project. If you are developing this project, you can simply clone the configured submodule:

git submodule update --init --recursive

If you are deploying to production, you can provide a directory path in the first argument to the binary. For example, if you have the icons in /var/www/icons:

./luciders /var/www/icons

Only .svg files will be read from that directory. The server's default port is 7878, although this can be configured with the PORT environment variable.

Docker

You can build and run this project with Docker. The Dockerfile is configured to use the submodule for the icons. To build the image:

git submodule update --init --recursive # Update the submodule if you haven't already
docker build -t luciders . # Build Docker image

Port 7878 is exposed by default.

License

Please see the LICENSE.md file in this directory. This project is licensed under the AGPL-3.0 license.

Additionally: You may host this project on your own server, and host it for others. You may then use that server in your own projects (e.g. as an API endpoint), even if that project is closed-source or proprietary. However, any modifications to this project must be made available under the AGPL-3.0 license. This is to ensure that the project remains open-source and free for all to use.