{"id":47891990,"url":"https://github.com/icon-project/relayer-docker","last_synced_at":"2026-04-04T03:08:54.845Z","repository":{"id":258488351,"uuid":"868348891","full_name":"icon-project/relayer-docker","owner":"icon-project","description":"Relay infrastructure on docker","archived":false,"fork":false,"pushed_at":"2025-02-10T07:02:05.000Z","size":133,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-02-10T08:21:10.466Z","etag":null,"topics":["docker","docker-compose","icx"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/icon-project.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}},"created_at":"2024-10-06T06:27:59.000Z","updated_at":"2025-02-10T07:02:08.000Z","dependencies_parsed_at":"2025-02-10T23:45:33.254Z","dependency_job_id":null,"html_url":"https://github.com/icon-project/relayer-docker","commit_stats":null,"previous_names":["icon-project/relayer-docker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/icon-project/relayer-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icon-project%2Frelayer-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icon-project%2Frelayer-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icon-project%2Frelayer-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icon-project%2Frelayer-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/icon-project","download_url":"https://codeload.github.com/icon-project/relayer-docker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icon-project%2Frelayer-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31385980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T01:22:39.193Z","status":"online","status_checked_at":"2026-04-04T02:00:07.569Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["docker","docker-compose","icx"],"created_at":"2026-04-04T03:08:54.193Z","updated_at":"2026-04-04T03:08:54.838Z","avatar_url":"https://github.com/icon-project.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Relayer Docker Infrastructure\n\nThis repository provides a Docker-based setup for the relayer infrastructure, including the relayer service and the admin dashboard.\n\n## Services\n\n- **Relayer**: Handles the core relay functionality.\n- **Admin Dashboard**: Provides a web interface for managing and monitoring the relayer.\n\n## Semver Versioning\n\nThe relayer and dashboard services are versioned using [Semantic Versioning](https://semver.org/).\n\nThe versioning scheme follows the format `vX.Y.Z`, where:\n\n- `X` is the major version.\n- `Y` is the minor version.\n- `Z` is the patch version.\n\n### Docker Images\n\nThe Docker images are tagged with the version number, e.g., `iconcommunity/centralized-relay:v1.9.6`.\n\n- Relayer: `iconcommunity/centralized-relay`\n- Dashboard: `iconcommunity/relayer-admin-dashboard`\n\nThe `stable` tag is used for the latest stable release, and the `unstable` tag is used for the latest development version.\n\n## Installation and Usage\n\nThe relayer infrastructure can be set up using the provided install script or manually using Docker Compose.\n\n### Prerequisites\n\nIf you're migrating relayer from previous systemctl based deployment, you can continue from the steps below.\n\n  Otherwise, if you're setting up for the first time, please follow the [KMS](https://github.com/icon-project/centralized-relay/wiki/KMS#aws-kms) for setting up the KMS first and then follow the below steps.\n\n#### Required Software\n\n- **Docker**: [Get Docker](https://docs.docker.com/engine/install/)\n- **Docker Compose**: Included with Docker setup or [install separately](https://docs.docker.com/compose/install/)\n- **curl** (pre-installed on most systems)\n- **openssl** (pre-installed on most systems)\n\n#### Ports Required\n\nFollowing ports are required to be open on the server:\n\n- **HTTP**: `80`\n- **HTTPS**: `443`\n\n#### Is a Domain Required?\n\n  If you plan to use Let's Encrypt for SSL certificates, you must have a registered domain name with DNS records correctly pointing to your server's IP address. This is necessary for Let's Encrypt to verify your domain and issue SSL certificates.\n\n  If you do not have a domain, self-signed certificates will be automatically generated and used for SSL.\n\n  While using Let's Encrypt is not strictly necessary, it is recommended for production environments to secure communication between the client and the server with valid SSL certificates.\n\n### Quick Start with Install Script\n\nYou can quickly set up the relayer infrastructure using the provided install script.\n\n#### Steps\n\n1. **Run the Install Script**\n\n   Execute the following command to download and run the install script:\n\n   ```bash\n   curl -L https://raw.githubusercontent.com/icon-project/relayer-docker/main/install.sh -o /tmp/install.sh \u0026\u0026 bash /tmp/install.sh\n   ```\n\n2. Provide Configuration Inputs\n\n    The script will prompt you for the necessary configuration parameters:\n\n    - AWS Credentials:\n      - AWS Access Key ID [ optional ]\n      - AWS Secret Access Key [ optional ]\n      - AWS Default Region (default: `us-east-1`)\n\n    - Image Versions:\n      - Relayer Image Version (default: `latest`)\n      - Dashboard Image Version (default: `latest`)\n\n    - Restart Policy (default: `unless-stopped`)\n\n    - Admin Credentials:\n\n      - Admin Email (default: \u003c`admin@icon.community`\u003e)\n      - Admin Password (default: `p@ssw0rd`)\n\n    - Let's Encrypt Configuration:\n      - Enable Let's Encrypt? (`yes` or `no`, default: `no`)\n\n        If enabled:\n        - Use Let's Encrypt Staging\n          - Environment? (`yes` or `no`, default: `no`)\n        - Let's Encrypt Domain\n        - Let's Encrypt Email\n\n    - Configuration File Path:\n      - Path to `config.yaml` for the relayer service.\n\n3. Wait for Deployment\n\n    The script will:\n\n    - Check for required commands.\n    - Download the `docker-compose.yaml` file.\n    - Generate a secure `NEXTAUTH_SECRET`.\n    - Create a `.env` file with your configuration.\n    - Start the Docker services using Docker Compose.\n\n4. Access the Admin Dashboard\n\n    - If Let's Encrypt is enabled and configured:\n\n      - Access the dashboard at `https://your-domain`\n\n    - If Let's Encrypt is not enabled:\n      - Access the dashboard at \u003chttps://localhost\u003e or your server's IP address.\n\n### Managing the Services\n\nThe `crly` script is a command-line utility that simplifies managing the relayer and admin dashboard services.\n\nIt provides commands to `start`, `stop`, `upgrade`, `restart`, `logs` and `verify` the services.\n\n#### Installation of `crly`\n\n1. Download the `crly` script:\n\n   ```bash\n   curl -L https://raw.githubusercontent.com/icon-project/relayer-docker/main/crly -o crly \u0026\u0026 chmod +x crly\n   ```\n\n2. Verify the installation:\n\n  ```bash\n  ./crly --help\n  ```\n\n#### Usage\n\n- **Help**:\n\n  ```bash\n  crly --help\n  ```\n\n#### Commands\n\n- [action]: `start`, `stop`, `upgrade`, `verify`, `restart` `logs`\n- [service]: `relayer`, `dashboard`\n\nWhen no action is provided, the script will execute provided arbitrary commands on\nthe relayer service container.\n\nWhen no service is provided, the script will execute the action on both the\nrelayer and dashboard services.\n\n- **Perform an Action**:\n\n  ```bash\n  crly [action] [service] [version]\n  ```\n\n- Upgrade the services to a specific version:\n\n  ```bash\n  crly upgrade relayer v1.9.6 # verify is implicitly called before upgrade\n  ```\n\n- Execute a arbitrary command on the relayer service:\n\n  ```bash\n  crly db messages list\n  ```\n\n- Verify the services:\n\n  ```bash\n  crly verify relayer v1.9.6\n  ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficon-project%2Frelayer-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficon-project%2Frelayer-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficon-project%2Frelayer-docker/lists"}