demos.tf frontend
  • Rust 42.8%
  • TypeScript 42.1%
  • CSS 13.2%
  • JavaScript 1%
  • Nix 0.9%
Find a file
2024-06-10 23:22:16 +02:00
.github/workflows multi-arch docker 2024-03-17 18:27:36 +01:00
.sqlx some updates 2024-01-16 22:14:51 +01:00
build swc updates 2024-06-07 22:47:28 +02:00
images embed kill icons 2023-11-24 19:52:59 +01:00
script show parser errors 2024-02-25 17:48:53 +01:00
src download: nofollow 2024-06-10 23:22:16 +02:00
style show parser errors 2024-02-25 17:48:53 +01:00
.envrc init repo 2023-04-05 19:55:09 +02:00
.gitignore swc updates 2024-06-07 22:47:28 +02:00
Cargo.lock cargo updates 2024-06-07 23:44:19 +02:00
Cargo.toml cargo updates 2024-06-07 23:44:19 +02:00
docker.nix flake rework 2024-01-16 22:39:33 +01:00
flake.lock swc updates 2024-06-07 22:47:28 +02:00
flake.nix cargo updates 2024-06-07 23:44:19 +02:00
module.nix swc updates 2024-06-07 22:47:28 +02:00
node_modules.nix flake rework 2024-01-16 22:39:33 +01:00
overlay.nix flake rework 2024-01-16 22:39:33 +01:00
package-lock.json edit wip 2023-11-24 22:42:25 +01:00
package.json edit wip 2023-11-24 22:42:25 +01:00
package.nix swc updates 2024-06-07 22:47:28 +02:00
README.md readme 2023-11-26 17:26:09 +01:00

demos.tf

CI

Frontend code for demos.tf, see also the api code for the api backend.

Docker image

A prebuild docker image exist in the docker hub.

Building

Rust and npm are required to build the project.

Using nix

For systems with nix, a flake is provided to ease building, simply running

nix build .#frontend

will build the entire project.

Without nix

If you don't have make available you can build the project without it.

npm ci
cargo b --release

Running

Once build, the binary can be run with

frontend <path to config.toml>

Configuration

[listen]
# ip and port to listen on
address = "127.0.0.1"
port = 7001
# or alternativelly, a socket to listen on
# path = "/run/frontend.sock"

[site]
# where this site can be found
url = "http://example.com/"
# url of the api server (https://github.com/demostf/api), defaults to "https://api.demos.tf/"
api = "https://api.example.com/"
# url of the map data server (https://github.com/demostf/maps), defaults to "https://maps.demos.tf/"
maps = "https://maps.example.com/"

[database]
hostname = "db.example.com"
username = "demostf"
password = "XXXXXXXXXX"

Alternatively, the configuration can be proved as environment variables in the form of ${SECTION}_${ITEM} (e.g. LISTEN_ADDRESS=127.0.0.1)