Ciallo~(∠·ω< )⌒★
A simple engine for image hosting written in Rust.
- Image hosting
- Automatic image compression via WebP
- Basic account system
- Internationalization
- Deploy via Docker
- Written in pure Rust
docker run -d -p 8080:80 -v image-cache:/home/cache ghcr.io/langyo/0721:latest
You can configure the engine via
Config.toml
in the docker volume.If you want to change the configuration, you might need to enter the container via the other image:
docker run -it --rm -v image-cache:/home busybox:latestThen you can edit the
Config.toml
in the/home
directory by usingvi
.After that, you can restart the container to apply the new configuration:
docker restart <container_id>
[portal]
# The site's title
title-suffix = "Ciallo~(∠·ω< )⌒★"
# The banner in the footer
footer-banner = [
{ text = "© 0721 project", url = "https://github.com/langyo/0721" },
]
# The default language of the site
language = "zh_hans"
# The timezone of the server, it will affect the images' timeline page
timezone = +8
[router]
# The entry path of the images
media-entry-path = "/media"
# If it's empty, it means no limit
limit-referrer-host = []
[upload]
# Allow to use "KiB", "MiB" as unit, or pure number string as bytes
image-size-limit = "8MiB"
# If it's true, the uploaded image will be converted to WebP format automatically
webp-auto-convert = true
# If it's true, the uploaded image will keep the original file's name
use-source-file-name = false
JWT secret key can be configured via the environment variable
JWT_SECRET
.You can configure it via the additional command line argument
-e JWT_SECRET=your_secret_key
for thedocker run
command.The default user is
admin
and the password isadmin
too. Modification of username and password is currently not supported. If operations are required, please create new users and delete old users. Subsequent versions will improve this capability.
You needs to install
cargo-make
andwasm-bindgen-cli
first.
cargo install cargo-make
cargo install wasm-bindgen-cli@0.2.95
cargo make dev