Curated catalogue of western classical music recordings.
Server side rendered website using Rust and actix-web. For client side search functionality Svelte is used with TypeScript.
Have config file .env
in the root folder:
APP_APPLICATION__PORT=8000
APP_DATABASE__HOST=localhost
APP_DATABASE__PORT=5432
APP_DATABASE__USERNAME=username
APP_DATABASE__PASSWORD=password
APP_DATABASE__DATABASE_NAME=composers
APP_DATABASE__REQUIRE_SSL=false
APP_STATIC_ASSETS_URL=https://static.zunh.dev/composers/covers/
APP_UMAMI_ID=12345
Have cargo-outdated installed.
Check outdated packages with $ cargo outdated --root-deps-only
.
Update versions in Cargo.toml
.
Have stable version of Rust installed.
Have Postgres database available and configured in .env
.
$ cargo run
.
Site should be available at the port configured in .env
.
Use $ cargo test
to run unit tests.
Have Docker and Docker Compose installed.
Have Postgres database available and configured in .env
.
$ docker compose up
.
Site should be available at the port configured in .env
.
Commit to main
branch.
Put appropriate git tag like vX.X.X
.
Create release in GitHub.
Use docker image ghcr.io/droidion/opusclassical:latest
(or check out available tags).