.config/cspell | ||
src | ||
vendor | ||
.dockerignore | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
cspell.config.yaml | ||
Dockerfile | ||
LICENSE.md | ||
README.md |
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.