Korga stands for the german term Kirchen Organisation (church organization). It synchronizes people and groups with ChurchTools and provides specialized features like email distribution lists.
Once configured, Korga automatically synchronizes people and groups from ChurchTools. This data can be used to create distribution lists.
./Korga.Server distribution-list create --group 137 kids
This command creates a distribution list kids@example.org which forwards emails to every member of group #137.
An event registration with multiple programs for each event. The list of participants is public as well as the possibility to delete registrations.
Currently, there is neither an API endpoint nor a graphical user interface available to edit events and programs. Instead you have to write SQL queries.
The only officially supported distribution are Docker containers. An official image is available at daniellerch/korga.
If you are using Docker Compose, take a look our example compose file in the docs
folder.
When you start Korga for the first time you have create the database schema via CLI:
docker compose exec app bash
./Korga.Server database migrate
Configuration for ChurchTools synchronization, IMAP, SMTP, etc. can set as enviroment variables. See appsettings.json for an overview of available options and their default values.
Contributions are highly welcome. Please open an issue before implementing a feature to discuss your plans.
Korga's source code is split into the backend (located in server
) and the frontend (located in webapp
).
The following instructions are written for Windows but generally also apply to Linux development setups.
- Visual Studio 2022
- .NET SDK 7.0
- EF Core CLI Tools (e.g.
dotnet tool install -g dotnet-ef
) - MySQL or MariaDB (e.g. from PSModules)
- OpenLDAP server
- Visual Studio Code
- Vue Language Features (Volar) Extension
- NodeJS 18 LTS
During development the frontend running on the Vue CLI development server will use http://localhost:50805 as API endpoint. That means the backend can be running in Visual Studio with Debugger attached.
If you just want to work on the frontend you can also use a public test server by creating a file webapp/.env.development.local
to override the defaults with VUE_APP_API_URL=https://lerchen.net/korga
.
Then you don't have to setup a database server, LDAP server and the ASP.NET Core backend.