{"id":17383051,"url":"https://github.com/jamie-legg/syntron.uk","last_synced_at":"2026-04-16T18:02:51.888Z","repository":{"id":230776192,"uuid":"780148562","full_name":"jamie-legg/syntron.uk","owner":"jamie-legg","description":"Scripts for tron server admin","archived":false,"fork":false,"pushed_at":"2024-11-06T21:12:01.000Z","size":662,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-09T23:51:03.723Z","etag":null,"topics":["armagetronad","express","nextjs14","shell-scripts"],"latest_commit_sha":null,"homepage":"https://syntron.uk","language":"TypeScript","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/jamie-legg.png","metadata":{"files":{"readme":"README.md","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":"2024-03-31T20:37:43.000Z","updated_at":"2024-11-06T21:12:05.000Z","dependencies_parsed_at":"2024-03-31T21:34:33.661Z","dependency_job_id":"bf33983d-1b18-47bb-9d3e-cb3e64f892c7","html_url":"https://github.com/jamie-legg/syntron.uk","commit_stats":null,"previous_names":["jamie-legg/tron-utils","jamie-legg/syntron.uk"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jamie-legg/syntron.uk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamie-legg%2Fsyntron.uk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamie-legg%2Fsyntron.uk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamie-legg%2Fsyntron.uk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamie-legg%2Fsyntron.uk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamie-legg","download_url":"https://codeload.github.com/jamie-legg/syntron.uk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamie-legg%2Fsyntron.uk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31897870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T17:33:00.867Z","status":"ssl_error","status_checked_at":"2026-04-16T17:32:57.401Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["armagetronad","express","nextjs14","shell-scripts"],"created_at":"2024-10-16T07:40:27.512Z","updated_at":"2026-04-16T18:02:51.869Z","avatar_url":"https://github.com/jamie-legg.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Syntron Documentation\n\nThis documentation provides an overview of the architecture, as well as instructions for setting up and running the Syntron application, and basic documentation of the provided scripts.\n\n## Contents\n\n- [Syntron Documentation](#syntron-documentation)\n  - [Contents](#contents)\n  - [Architecture Overview](#architecture-overview)\n  - [Scripts](#scripts)\n  - [Setup](#setup)\n    - [Prerequisites](#prerequisites)\n    - [Running the Application](#running-the-application)\n    - [ELK Stack](#elk-stack)\n  - [Development](#development)\n  - [Contributing](#contributing)\n  - [Support](#support)\n\n## Architecture Overview\n\n```mermaid\ngraph TD;\n    subgraph Web\n    auth_api[Auth API]\n    web_ui[Web UI]\n    end\n\n    subgraph Game\n    tst[TST Server]\n    pub_sumo[Pub Sumo Server]\n    watcher[Watcher]\n    end\n\n    subgraph database\n    postgres[Postgres]\n    end\n\n    web_ui --\u003e auth_api\n    auth_api --\u003e postgres\n    tst --\u003e watcher\n    pub_sumo --\u003e watcher\n    watcher --\u003e auth_api\n```\n\n- **Web UI**: The front-end user interface, written in TypeScript, interacts with the Auth API for authentication processes. It's a Next.js application that uses React for rendering, and Tailwind CSS for styling.\n  \n- **Auth API**: Also written in TypeScript, this handles all authentication requests and interacts directly with the Postgres database. Express.js is used as the server framework.\n  \n- **Watcher**: A TypeScript service that monitors interactions between the TST and Pub Sumo servers and communicates with the Auth API.\n  \n- **TST Server \u0026 Pub Sumo Server**: Backend servers responsible for core game logic and public summaries respectively. Shoutout to my fellow insomniac Light (https://lightron.org/) for the docker image.\n  \n- **Postgres**: The database used for storing user and authentication data.\n\n## Scripts\n\nThe following scripts are located in the `scripts` directory of the project.\n\n\n\n## Setup\n\nThe application is containerized using Docker Compose. Below are the steps to set up and run the application.\n\n### Prerequisites\n\n- Docker\n- Docker Compose\n- Node.js (for running local TypeScript setups if necessary)\n\n### Running the Application\n\n1. Clone the repository to your local machine.\n2. Navigate to the root of the project where the `docker-compose.yml` file is located.\n3. Ensure you have a `.env` file in the root directory with all the necessary environment variables set.\n4. Run the following command to start all services:\n   ```\n   docker-compose up\n   ```\n\n### ELK Stack\n\nThe application uses an ELK (Elasticsearch, Logstash, Kibana) stack for logging purposes.\n\n- **Access Logs**: Visit \\`http://localhost:5601\\` to access Kibana and view the logs.\n\n## Development\n\n- When developing locally, ensure all TypeScript services (Web UI, Auth API, Watcher) are compiled and up-to-date.\n- Use the provided Docker setup to maintain consistency in development and production environments.\n\n## Contributing\n\nContributions are welcome! Please fork the repository and submit pull requests with your proposed changes.\n\n## Support\n\nFor any additional support or queries, please open an issue in the repository or contact me at legg.jamie@gmail.com.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamie-legg%2Fsyntron.uk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamie-legg%2Fsyntron.uk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamie-legg%2Fsyntron.uk/lists"}