{"id":24988417,"url":"https://github.com/lit-protocol/lit-node-deploy","last_synced_at":"2026-02-20T18:01:44.536Z","repository":{"id":248958852,"uuid":"830251670","full_name":"LIT-Protocol/lit-node-deploy","owner":"LIT-Protocol","description":"Tooling to prepare a machine for participating in the Lit Protocol","archived":false,"fork":false,"pushed_at":"2026-01-24T16:15:46.000Z","size":93,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-25T05:49:25.578Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.litprotocol.com","language":"Jinja","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/LIT-Protocol.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-17T22:57:40.000Z","updated_at":"2026-01-24T16:15:49.000Z","dependencies_parsed_at":"2024-12-11T16:23:20.836Z","dependency_job_id":"63be5b9b-327b-47e4-80a8-a0b4bae88c7c","html_url":"https://github.com/LIT-Protocol/lit-node-deploy","commit_stats":null,"previous_names":["lit-protocol/datil-migration","lit-protocol/lit-node-deploy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LIT-Protocol/lit-node-deploy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LIT-Protocol%2Flit-node-deploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LIT-Protocol%2Flit-node-deploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LIT-Protocol%2Flit-node-deploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LIT-Protocol%2Flit-node-deploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LIT-Protocol","download_url":"https://codeload.github.com/LIT-Protocol/lit-node-deploy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LIT-Protocol%2Flit-node-deploy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29659752,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T16:33:43.953Z","status":"ssl_error","status_checked_at":"2026-02-20T16:33:43.598Z","response_time":59,"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":[],"created_at":"2025-02-04T12:04:14.037Z","updated_at":"2026-02-20T18:01:44.531Z","avatar_url":"https://github.com/LIT-Protocol.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lit Node Deployment\n\nThis repository contains an Ansible playbook designed to simplify the deployment and upgrade process for `lit-node` on a single machine. It is intended to be used by Node Operators to provision their hardware according to Lit Protocol's requirements.\n\n## Prerequisites\n\nBefore you begin, please ensure you have the following:\n\n1.  **Ansible:** You must have Ansible installed on your local machine. You can install it using your system's package manager.\n    *   **macOS:** `brew install ansible`\n    *   **Ubuntu/Debian:** `sudo apt-get install ansible`\n2.  **SSH Access:** You need SSH access to the target machine you intend to provision. This includes having an SSH key pair, and your public key should be authorized on the target machine.\n3.  **Machine Details:** You should have all the required networking and configuration details for your node, as provided in the Lit Protocol Node Provisioning Guide.\n\n## Configuration\n\nThe deployment is configured using a single file, `machine-description.yml`.\n\n1.  **Create the Configuration File:**\n    Start by copying the example file:\n    ```bash\n    cp machine-description.example.yml machine-description.yml\n    ```\n\n2.  **Edit `machine-description.yml`:**\n    Open the `machine-description.yml` file and fill in all the required variables. Each variable is commented in the file to guide you. Pay close attention to the formatting and ensure all values are correctly entered.\n\n### ZeroSSL API Key\n\nA ZeroSSL API key is required to obtain the necessary SSL certificates for your node to communicate securely with the network.\n\n1.  **Create an Account:** If you don't already have one, sign up for a free account on the [ZeroSSL website](https://zerossl.com/).\n2.  **Generate an API Key:** Navigate to the **Developer** section of your ZeroSSL dashboard and generate a new API key.\n3.  **Add the Key to Your Configuration:** Copy the generated API key and paste it as the value for the `zerossl_api_key` field in your `machine-description.yml` file.\n\n## Deployment Steps\n\nThe deployment process is automated with a simple script.\n\n1.  **Run the Deployment Script:**\n    Execute the `deploy.sh` script from your terminal:\n    ```bash\n    bash deploy.sh\n    ```\n    This script will pull the latest changes from the repository and then run the Ansible playbook. The playbook will connect to your target machine via SSH and perform all the necessary steps to install and configure `lit-node`. This process can take an hour, so please be patient. A detailed log will be written to `deploy.log`.\n\n    **Important:** After the initial deployment, the username you use to SSH into the machine may change to the value you set for `ansible_user` or `ssh_user` in `machine-description.yml`. Please make sure to use the new username for any subsequent connections.\n\n2.  **Reboot the Machine:**\n    After the deployment script completes successfully, you must reboot the machine to finalize the installation. Run the reboot script:\n    ```bash\n    bash reboot.sh\n    ```\n    It may take up to 20 minutes for the machine to become accessible via SSH again after rebooting.\n\n## Special Considerations\n\n### OVH Advance Devices\n\nIf you are using a bare-metal machine from OVH in the \"Advance\" product line and are configuring OLA (OVHCloud Link Aggregation), please be aware of the following:\n\n*   For detailed instructions on configuring OLA, please refer to the [Datil Testnet Node Provisioning Guide](https://www.notion.so/litprotocol/Datil-test-Testnet-Node-Provisioning-Guide-6c78bd5e7ebd4b0f8cec1ad78e130be2?pvs=4#22de9bba0e7e49108509a5d60b8f6aaa).\n*   After the final reboot, the IP address you use for SSH access will change to the value you set for `host_ip` in your `machine-description.yml`.\n*   The `reboot.sh` script may time out, as it will lose connection. You can manually SSH into the machine using the new `host_ip` to confirm that the process is complete.\n\n## Troubleshooting\n\nIf you encounter any errors during the deployment:\n\n1.  **Save the Log:** Make a copy of the `deploy.log` file. This log contains detailed information that will be essential for debugging.\n2.  **Contact Support:** Reach out to the Lit Protocol team and provide them with the `deploy.log` file.\n3.  **Retry the Deployment:** In many cases, you can safely re-run the `deploy.sh` script. The playbook is designed to be idempotent, meaning it will skip any steps that have already been successfully completed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flit-protocol%2Flit-node-deploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flit-protocol%2Flit-node-deploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flit-protocol%2Flit-node-deploy/lists"}