{"id":29111225,"url":"https://github.com/mpapenbr/iracelog-documentation","last_synced_at":"2026-02-03T00:38:57.442Z","repository":{"id":65417655,"uuid":"589341494","full_name":"mpapenbr/iracelog-documentation","owner":"mpapenbr","description":"Documentation for the iRacelog project","archived":false,"fork":false,"pushed_at":"2025-06-15T12:28:44.000Z","size":228,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-15T13:49:58.487Z","etag":null,"topics":["documentation","iracing"],"latest_commit_sha":null,"homepage":"https://iracelog.iracing-tools.de","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mpapenbr.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-01-15T21:12:43.000Z","updated_at":"2025-06-15T12:28:47.000Z","dependencies_parsed_at":"2024-03-02T12:31:15.737Z","dependency_job_id":"e0bda70a-53a9-4c2a-8c15-3535a3784ef6","html_url":"https://github.com/mpapenbr/iracelog-documentation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mpapenbr/iracelog-documentation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpapenbr%2Firacelog-documentation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpapenbr%2Firacelog-documentation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpapenbr%2Firacelog-documentation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpapenbr%2Firacelog-documentation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mpapenbr","download_url":"https://codeload.github.com/mpapenbr/iracelog-documentation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpapenbr%2Firacelog-documentation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262566860,"owners_count":23329692,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["documentation","iracing"],"created_at":"2025-06-29T09:07:02.748Z","updated_at":"2026-02-03T00:38:57.435Z","avatar_url":"https://github.com/mpapenbr.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# iRacelog documentation\n\n_work in progress_\n\n## Current versions\n\nList of current components\n\n[%header,format=dsv]\n:===\nComponent:Version\nracelogger: v0.23.1\niracelog-web: v0.43.0\niracelog-service-manager-go: v0.37.7\niracelog-graphql: v0.7.0\niracelog-cli: v0.8.0\n:===\n\n\n## Components\n\n.Components overview (svg)\nimage::components.drawio.svg[]\n### Racelogger\nThis module is responsible for extracting the data from the local running iRacing simulation software. \n\n_Racelogger_ is the data provider for the whole project. \n\n[%noheader,cols=\"1,2\"]\n|===\n|Repository| https://github.com/mpapenbr/go-racelogger[racelogger]\n\n|Language| Go\n\n|Tech|   https://grpc.io/[gRPC]\n|===\n\n\n### iRacelog Web\n\nThis is the web frontend. It is used to show race data for both live and archived events. \n\nRepository: \n\n[%noheader,cols=\"1,2\"]\n|===\n|Repository| https://github.com/mpapenbr/iracelog[iracelog]\n\n|Language| TypeScript\n\n|Tech|  https://reactjs.org/[React], https://ant.design[ant.design], \n|===\n\n\n\n### iRacelog Service Manager (Go)\n\nThis module is the main entry point to manage the backend services. It recieves messages from the _racelogger_ and is responsible for the following tasks\n\n* archive the recieved messages from the _racelogger_\n* compute additional stats (such as stint durations, driver seat times, driver laps)\n* database migration\n\n[%noheader,cols=\"1,2\"]\n|===\n|Repository| https://github.com/mpapenbr/iracelog-service-manager-go[iracelog-service-manager-go]\n\n|Language| Go\n\n|Tech|  https://grpc.io/[gRPC], https://buf.build/[buf.build], https://connectrpc.com/[ConnectRPC], https://opentelemetry.io/[OpenTelemetry], https://github.com/jackc/pgx/v5[Postgresql], https://github.com/golang-migrate/migrate[Migrate]\n|===\n\n### iRacelog CLI \n\nCommand line tool used for administrative tasks which are not yet available via web frontend. \n\nThis tool is also used for stress tests during development.\n\n\n[%noheader,cols=\"1,2\"]\n|===\n|Repository| https://github.com/mpapenbr/iracelog-cli[iracelog-cli]\n\n|Language| Go\n\n|Tech|  https://grpc.io/[gRPC], https://buf.build/[buf.build], https://connectrpc.com/[ConnectRPC]\n|===\n\n\n\n### iRacelog GraphQL\n\nThis component provides the search functionality for the _iRacelog_. \n\n[%noheader,cols=\"1,2\"]\n|===\n|Repository| https://github.com/mpapenbr/iracelog-graphql[iracelog-graphql]\n\n|Language| Go\n\n|Tech| https://graphql.org/[GraphQL]\n|===\n\n\n\n## Components (retired)\n\n[%header,format=dsv]\n:===\nComponent:Version\niracelog-wamp-router: v0.0.2\nracelogger (python): v0.8.0\niracelog-service-manager: v0.6.1\niracelog-analysis-service: v0.3.1\ncrossbar: v22.6.1\nracelogctl: v0.4.0\n:===\n\n_iracelog-service-manager_ was replaced by the Go variant _iracelog-service-manager-go_\n\n_iracelog-analysis-service_ was put out of order. Its tasks were integrated in _iracelog-service-manager-go_\n\n_crossbar_ was replaced by the Go variant _iracelog-wamp-router_\n\n_racelogger_ was replaced by the Go variant _go-racelogger_\n\n_racelogctl_ was replaced by the gRPC variant _iracelog-cli_\n\n_iracelog-wamp-router_ was no longer needed with the move from WAMP to gRPC\n\n\n\n### iRacelog WAMP Router \n\nThis module is the replacement for https://crossbar.io[Crossbar]. \n\nIt serves as the central point for distributing messages between the components according to the WAMP specification.\n\nWhile crossbar provides a lot of features we actually don't need much of them. The Nexus library in Go fullfills our needs and comes with a much smaller footprint.\n\n[%noheader,cols=\"1,2\"]\n|===\n|Repository| https://github.com/mpapenbr/iracelog-wamp-router[iracelog-wamp-router]\n\n|Language| Go\n\n|Tech|  https://wamp-proto.org/[WAMP], https://github.com/gammazero/nexus[Nexus]\n|===\n\n\n### Racelogger (Python)\nThis module is responsible for extracting the data from the local running iRacing simulation software. \nThe _racelogger_ uses the python module https://github.com/kutu/pyirsdk[pyirsdk] to get access to the iRacing telemetry data. \n_Racelogger_ is the data provider for the whole project. \n\n[%noheader,cols=\"1,2\"]\n|===\n|Repository| https://github.com/mpapenbr/python-racelogger[racelogger]\n\n|Language| Python\n\n|Tech|   https://github.com/kutu/pyirsdk[pyirsdk], https://wamp-proto.org/[WAMP], https://github.com/crossbario/autobahn-python[autobahn]\n|===\n\n\n### iRacelog Service Manager (Python)\n\nThis module is the main entry point to manage the backend services. It recieves messages from the _racelogger_ and is responsible for the distribution to other backend components, such as\n\n* archive the recieved messages from the _racelogger_\n* compute additional stats (such as stint durations, driver seat times, driver laps)\n* gateway to linked subcomponents \n\n[%noheader,cols=\"1,2\"]\n|===\n|Repository| https://github.com/mpapenbr/iracelog-service-manager[iracelog-service-manager]\n\n|Language| Python\n\n|Tech| https://crossbar.io/[crossbar], https://wamp-proto.org/[WAMP], https://github.com/crossbario/autobahn-python[autobahn]\n|===\n\n### iRacelog Anaylsis Service\n\nThis module is responsible for processing incoming WAMP-messages from the _racelogger_. During live events it holds the current race state (including extra computations) and stores it periodically into the database.\n\n[%noheader,cols=\"1,2\"]\n|===\n|Repository| https://github.com/mpapenbr/iracelog-analysis-service[iracelog-analysis-service]\n\n|Language| TypeScript\n\n|Tech| https://wamp-proto.org/[WAMP], https://github.com/crossbario/autobahn-js[autobahn]\n|===\n\n\n## Utilities\n\n### racelogctl (CLI)\n\nCommand line tool used for administrative tasks which are not yet available via web frontend. \n\nThis tool is also used for stress tests during development.\n\n[%noheader,cols=\"1,2\"]\n|===\n|Repository| https://github.com/mpapenbr/racelogctl[racelogctl]\n\n|Language| Go\n\n|Tech| https://github.com/spf13/cobra[Cobra], https://github.com/spf13/viper[Viper], https://wamp-proto.org/[WAMP], https://github.com/gammazero/nexus[Nexus]\n|===\n\n\n### Deployment \n\nThis repository contains samples for deploying the application in the following environments\n\n* docker via docker compose\n* kubernetes via Helm charts\n\nCAUTION: The samples in this repository are designed for local test environments. \n\n\n[%noheader,cols=\"1,2\"]\n|===\n|Repository| https://github.com/mpapenbr/iracelog-deployment[iracelog-deployment]\n\n\n|Tech| https://www.docker.com/[Docker], https://kubernetes.io/[Kubernetes], https://helm.sh/[Helm]\n|===\n\n\n### Sample installation \n\nThis setup is supposed for users who are familar with Linux servers. The ansible playbooks can be used to setup the application on IaaS (Infrastructure as a Service) machines. \n\nThe sample uses Hetzner (for IaaS) and Netcup (for domain services), but you may adjust the playbooks for other providers. \n\n[%noheader,cols=\"1,2\"]\n|===\n|Repository| https://github.com/mpapenbr/iracelog-ansible-server-setup[sample-setup]\n\n|Language| Ansible, Python\n|Tech| https://www.docker.com/[Docker]\n|===\n\n\n## Credits\nThis application was inspired by https://timing71.org[timing71.org]. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpapenbr%2Firacelog-documentation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmpapenbr%2Firacelog-documentation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpapenbr%2Firacelog-documentation/lists"}