diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..5d0c073 --- /dev/null +++ b/README.md @@ -0,0 +1,52 @@ +# vrr-infoscreen - Infoscreen for Public Transit Departures + +[vrr-infoscreen homepage](https://finalrewind.org/projects/vrr-fakedisplay/) + +vrr-infoscreen (formerly vrr-fakedisplay) shows departures at a public transit +stop, serving both as infoscreen / webapp and LED departure monitor look-alike. + +It supports most german local transit networks and also some austrian ones. + +There's a public [vrr-infoscreen service on +finalrewind.org](https://vrrf.finalrewind.org/). You can also host your own +instance, see the Setup notes below. + +## Dependencies + + * perl ≥ 5.10 + * Cache::File (part of the Cache module) + * DateTime + * DateTime::Format::Strptime + * File::ShareDir + * GD + * Mojolicious + * Travel::Status::DE::EFA ≥ 1.15 + * Travel::Status::DE::HAFAS ≥ 2.03 + * Travel::Status::DE::URA ≥ 2.01 + +## Setup + +First, build App::VRR::Fakedisplay which is required for the LED frontend: + +* perl Build.PL +* ./Build +* ./Build manifest +* sudo ./Build install + +vrr-infoscreen is configured via environment variables: + +| Variable | Default | Description | +| :------- | :------ | :---------- | +| VRRFAKEDISPLAY\_LISTEN | `http://127.0.0.1:8091` | IP and Port for web service | +| VRRFAKEDISPLAY\_STATS | _None_ | File in which the total count of (non-cached) backend API requests is written | +| VRRFAKEDISPLAY\_CACHE | `/tmp/vrr-fakedisplay` | Cache directory | +| VRRFAKEDISPLAY\_WORKERS | 2 | Number of concurrent worker processes | + +Set these as needed, create `templates/imprint.html.ep` (imprint) and +`templates/privacy.html.ep` (privacy policy), and configure your web server to +pass requests for vrr-infoscreen to the appropriate port. + +You can run the app using a Mojo::Server of your choice, e.g. **perl +index.pl daemon -m production** (quick&dirty, does not respect all variables) +or **hypnotad** (recommended). A systemd unit example is provided in +`examples/vrr-infoscreen.service`. |