This repository contains the source code for the website of the Musik- und Kulturförderverein e.V. at musikundkultur.de / alhambra-luckenwalde.de.
Configuration is loaded from multiple places in the following order:
-
The file
config/default.tomlis always loaded. -
If present, the environment specific file
config/{environment}.tomlis loaded based on the value of theAPP_ENVenvironment variable, which defaults todevelopment. -
If present, the file
config/local.tomlcan be created to override certain configuration values locally (it's on.gitignore). -
Finally, environment variables (with optional
WZ_prefix) can be set to override any configuration value. E.g. the configserver.listen_addrcan be set via either of these environment variables:SERVER__LISTEN_ADDR/WZ_SERVER__LISTEN_ADDR.Note: A double-underscore (
__) is used as path separator for nested configuration attributes.
The log level can be configured via the RUST_LOG environment variable.
Examples can be found in then env_logger
documentation.
Upcoming events can be pulled from a Google Calendar. To enable the
integration, enable the google-calendar event source in the configuration:
[calendar]
event_source = "google-calendar"Furthermore, the following two environment variables need to be set to appropriate values:
GOOGLE_CALENDAR_ID: The ID of the calendar. You can find it in the Integrate calendar section of your calendar's settings.GOOGLE_APPLICATION_CREDENTIALS_JSON: Populate it with the base64 encoded JSON Service Account Credentials obtained from the Google Cloud Console (see below).
-
Create a new project in the Google Cloud Console or use an existing one.
-
Enable the Google Calendar API via the API Library.
-
Create a new Service Account via the IAM Console.
-
Create new credentials for this Service Account by navigating to the Keys tab and then select Add key => Create new key => Choose JSON as key type. Save the downloaded JSON credentials file.
-
Store the credentials in the
GOOGLE_APPLICATION_CREDENTIALS_JSONenvironment variable:export GOOGLE_APPLICATION_CREDENTIALS_JSON="$(base64 --wrap=0 credentials.json)"
-
Navigate to your Google Calendar's settings and share it with the Service Account's email address. Read permissions are sufficient for the integration to work.
Note
Until version
v0.7.1 we
used Release Please to create
releases based on Conventional Commit
messages to automate the
release process. The release process was simplified and as a consequence
there are no automated updates to CHANGELOG.md anymore.
The container workflow automatically
deploys container images build off of Git tags and the main branch directly
to production.
In rare cases it might be necessary to trigger a manual deployment. Given the
necessary repository permissions, the
container workflow can be triggered manually
for arbitrary branches and tags via workflow dispatch.
This will build the image and start a deployment for the commit referenced by
the tag or the branches' HEAD.
Alternatively, the application can be built and deployed from a local machine
via flyctl:
flyctl deployThe source code of wohnzimmer is licensed under either of Apache License, Version 2.0 or MIT license at your option.
The Lato font is licensed under the Open Font License.