2019-04-17 01:13:14 +00:00
|
|
|
# vim:ft=perl
|
|
|
|
# travelynx.conf must be a valid perl hash reference. String values must be
|
|
|
|
# quoted and hash items must end with a comma. You can access environment
|
|
|
|
# variables via $ENV, e.g. by writing $ENV{TRAVELYNX_DB_HOST} instead of
|
2023-01-02 04:46:16 +00:00
|
|
|
# 'localhost'. You can validate via 'perl -c travelynx.conf'.
|
2019-04-17 01:13:14 +00:00
|
|
|
|
2019-04-13 10:17:19 +00:00
|
|
|
{
|
2023-03-19 11:20:30 +00:00
|
|
|
# Optional announcement, e.g. to indicate maintenance or backend issues.
|
|
|
|
#announcement => 'The IRIS backend is flaky. Real-time data may not be available.',
|
|
|
|
|
2022-02-14 20:41:32 +00:00
|
|
|
# Base URL of this travelynx installation, e.g. "https://travelynx.de" for
|
|
|
|
# travelynx.de. Used to identify this travelynx instance when performing API
|
|
|
|
# requests (so API providers know whom to contact case of issues) and for
|
|
|
|
# imprint and other links in travelynx E-Mails. Note that this entry is
|
|
|
|
# only used when travelynx is performing requests or sending E-mails from
|
|
|
|
# a "work", "worker", or "maintenance" job. Otherwise, it will infer the
|
|
|
|
# base URL from the HTTP request. If your travelynx instance is reachable
|
|
|
|
# via multiple URLs, use any one of them.
|
|
|
|
base_url => Mojo::URL->new('https://FIXME.local'),
|
|
|
|
|
2019-04-17 01:13:14 +00:00
|
|
|
# Cache directories for schedule and realtime data. Mandatory. The parent
|
|
|
|
# directory ('/var/cache/travelynx' in this case) must already exist.
|
2019-04-13 10:17:19 +00:00
|
|
|
cache => {
|
|
|
|
schedule => '/var/cache/travelynx/iris',
|
|
|
|
realtime => '/var/cache/travelynx/iris-rt',
|
|
|
|
},
|
2019-04-17 01:13:14 +00:00
|
|
|
|
|
|
|
# Database configuration. host and port are optional
|
|
|
|
# (defaulting to localhost:5432), the rest is mandatory.
|
2019-04-13 10:17:19 +00:00
|
|
|
db => {
|
|
|
|
host => 'localhost',
|
2019-04-17 01:13:14 +00:00
|
|
|
port => 5432,
|
2019-04-13 10:17:19 +00:00
|
|
|
database => 'travelynx',
|
|
|
|
user => 'travelynx',
|
|
|
|
password => die("Changeme!"),
|
|
|
|
},
|
2019-04-17 01:13:14 +00:00
|
|
|
|
2021-01-17 17:24:11 +00:00
|
|
|
# These settings control the amount and (re)spawn behaviour of travelynx
|
|
|
|
# worker processes as well as IP, port, and PID file. They are suitable for
|
|
|
|
# up to a few dozen concurrent users. If your site has more traffic, you
|
|
|
|
# may want to increase the number of worker processes.
|
|
|
|
# See the Mojo::Server::Hypnotoad manual for details.
|
2019-04-13 10:17:19 +00:00
|
|
|
hypnotoad => {
|
|
|
|
accepts => 100,
|
|
|
|
clients => 10,
|
|
|
|
listen => [ 'http://127.0.0.1:8093' ],
|
|
|
|
pid_file => '/tmp/travelynx.pid',
|
|
|
|
workers => 2,
|
|
|
|
spare => 2,
|
|
|
|
},
|
2019-04-17 01:13:14 +00:00
|
|
|
|
2023-01-02 04:45:59 +00:00
|
|
|
influxdb => {
|
|
|
|
# travelynx can log statistics and performance attributes to InfluxDB.
|
|
|
|
# To do so, create a travelynx database in your InfluxDB, and point url
|
|
|
|
# (below) to the corresponding write URL. The URL may use anything from
|
|
|
|
# plain HTTP to HTTPS with password authentication.
|
|
|
|
## url => 'https://user:password@host/write?db=travelynx',
|
|
|
|
},
|
|
|
|
|
2020-03-13 17:28:13 +00:00
|
|
|
mail => {
|
2021-09-12 09:43:56 +00:00
|
|
|
# To disable outgoing mail for development purposes, uncomment the
|
|
|
|
# following line. Mails will instead be logged as Mojolicious "info"
|
|
|
|
# messages, causing their content to be printed on stdout.
|
2020-03-13 17:28:13 +00:00
|
|
|
## disabled => 1,
|
|
|
|
|
|
|
|
# Otherwise, specify the sender ("From" field) for mail sent by travelynx
|
|
|
|
# here. E.g. 'Travelynx <mail@example.org>'
|
|
|
|
from => die("Changeme!"),
|
|
|
|
},
|
|
|
|
|
2021-09-12 09:43:56 +00:00
|
|
|
registration => {
|
|
|
|
# To disable registration for your instance, uncomment the following
|
|
|
|
# line.
|
|
|
|
## disabled => 1,
|
|
|
|
|
|
|
|
# To block registration from certain IPs, uncomment the following line
|
|
|
|
# and point it to a file containing one IPv4 or IPv6 address per line.
|
|
|
|
# Blocking IP ranges is not supported.
|
|
|
|
## denylist => "denylist.txt",
|
|
|
|
},
|
|
|
|
|
2021-02-02 17:43:48 +00:00
|
|
|
# Links to source code and issue tracker shown on the about page.
|
|
|
|
# Please change them if you are using a fork.
|
|
|
|
ref => {
|
|
|
|
# Optional
|
|
|
|
issues => 'https://github.com/derf/travelynx/issues',
|
|
|
|
|
|
|
|
# Mandatory
|
|
|
|
source => 'https://github.com/derf/travelynx',
|
|
|
|
},
|
|
|
|
|
2019-04-17 01:13:14 +00:00
|
|
|
# Secrets used for cookie signing and verification. Must contain at least
|
|
|
|
# one random string. If you specify several strings, the first one will
|
|
|
|
# be used for signing new cookies, and the remaining ones will still be
|
|
|
|
# accepted for cookie validation.
|
2019-04-13 10:17:19 +00:00
|
|
|
secrets => [
|
|
|
|
die("Changeme!"),
|
|
|
|
],
|
2019-04-17 01:13:14 +00:00
|
|
|
|
2023-08-07 19:17:10 +00:00
|
|
|
# optionally, users can link travelynx and traewelling accounts, and
|
|
|
|
# automatically synchronize check-ins.
|
|
|
|
# To do so, you need to create a travelynx application on
|
|
|
|
# <https://traewelling.de/settings/applications>. The application
|
|
|
|
# must be marked as "Confidential" and have a redirect URL that matches
|
|
|
|
# $base_url/oauth/traewelling, where $base_url refers to the URL configured
|
|
|
|
# above. For instance, travelynx.de uses
|
|
|
|
# 'https://travelynx.de/oauth/traewelling'. An incorrect redirect URL will
|
|
|
|
# cause OAuth2 to fail with unsupported_grant_type.
|
|
|
|
#
|
|
|
|
# Note that the travelynx/traewelling OAuth2 integration does not support
|
|
|
|
# travelynx installations that are reachable on multiple URLs at the
|
|
|
|
# moment -- linking a traewelling account is only possible when accessing
|
|
|
|
# travelynx via the base URL.
|
2023-01-02 04:59:16 +00:00
|
|
|
traewelling => {
|
2023-08-07 19:17:10 +00:00
|
|
|
|
|
|
|
# Uncomment the following block and insert the application ID and
|
|
|
|
# secret obtained from https://traewelling.de/settings/applications
|
|
|
|
# -> your application -> Edit.
|
|
|
|
|
|
|
|
#oauth => {
|
|
|
|
# id => 1234,
|
|
|
|
# secret => 'mysecret',
|
|
|
|
#}
|
|
|
|
|
2023-01-02 04:59:16 +00:00
|
|
|
# By default, the "work" or "worker" command does not just update
|
|
|
|
# real-time data of active journeys, but also performs push and pull
|
|
|
|
# synchronization with traewelling for accounts that have configured it.
|
|
|
|
# Traewelling pull synchronization currently relies on polling the user
|
|
|
|
# status on traewelling.de, so large travelynx instances may want to
|
|
|
|
# run pull synchronization less frequently than regular "work" commands
|
|
|
|
# and traewelling push synchronization.
|
|
|
|
#
|
|
|
|
# To do so, uncomment "separate_worker" below and create a cronjob that
|
|
|
|
# periodically runs "perl index.pl traewelling" (push and pull) or
|
|
|
|
# two separate cronjobs that run "perl index.pl traewelling push" and
|
|
|
|
# "perl index.pl traewelling pull", respectively.
|
2023-08-07 19:17:10 +00:00
|
|
|
|
|
|
|
# separate_worker => 1,
|
2023-01-02 04:59:16 +00:00
|
|
|
},
|
|
|
|
|
2019-04-14 21:33:20 +00:00
|
|
|
version => qx{git describe --dirty} // 'experimental',
|
2019-04-13 10:17:19 +00:00
|
|
|
};
|