{"id":16359908,"url":"https://github.com/superjmn/dotnet-ssh-deployer","last_synced_at":"2025-03-21T00:31:42.627Z","repository":{"id":38980792,"uuid":"148678907","full_name":"SuperJMN/DotNet-Ssh-Deployer","owner":"SuperJMN","description":"Deploy your .NET Project to Raspberry Pi with ease!","archived":false,"fork":false,"pushed_at":"2024-09-04T20:20:09.000Z","size":4984,"stargazers_count":18,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-17T19:21:21.371Z","etag":null,"topics":["deploy","deployment","linux","netcore2","raspberry","raspberry-pi-3","raspbian"],"latest_commit_sha":null,"homepage":null,"language":"C#","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/SuperJMN.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":"2018-09-13T18:14:15.000Z","updated_at":"2025-03-12T18:43:33.000Z","dependencies_parsed_at":"2024-09-06T05:00:25.944Z","dependency_job_id":"4a148ce2-494f-44f8-854c-34e437ff8bb5","html_url":"https://github.com/SuperJMN/DotNet-Ssh-Deployer","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperJMN%2FDotNet-Ssh-Deployer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperJMN%2FDotNet-Ssh-Deployer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperJMN%2FDotNet-Ssh-Deployer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuperJMN%2FDotNet-Ssh-Deployer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SuperJMN","download_url":"https://codeload.github.com/SuperJMN/DotNet-Ssh-Deployer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244717391,"owners_count":20498283,"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":["deploy","deployment","linux","netcore2","raspberry","raspberry-pi-3","raspbian"],"created_at":"2024-10-11T02:09:57.268Z","updated_at":"2025-03-21T00:31:41.608Z","avatar_url":"https://github.com/SuperJMN.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# SSH Deployer\nDeploy your .NET Project to Raspberry Pi / Linux x64 with ease!\nThis will help you deploy your NET Core applications (Console or ASP.NET) to Raspbian or other Linux distro in the blink of an eye. \n\n![Demo](Docs/Demo.gif)\n\n# Requirements\n\n- Linux device: Currently supported Raspberry Pi (Linux ARM) and generic Linux x64 distros.\n- [.NET Core 3.0+](https://www.microsoft.com/net/download)\n- SSH enabled on your target machine\n\n# Installation\n- Open a command prompt\n- Run `dotnet tool install --global DotNetSsh.App`\n- You're ready to go!\n\n# How do I deploy my application?\nFollow these steps :) It's super easy to do it!\n\n## 1. Configure a deployment profile\n\nYou need to configure a deployment profile first:\n\n1. Go to the root directory of the project you want to deploy\n2. Run this command depending on the authentication method you want to use to access the remote machine. **The \"User Secrets\" method is recommended**.\n\n* ### User Secrets\n```\ndotnet-ssh configure MyRaspberryPi --auth-type UserSecrets --auth username:password\n```\nThis authentication method will use User Secrets to store your login in a safe storage inside your computer.\n\n* ### Private SSH key (experts-only 😁)\n```\ndotnet-ssh configure MyRaspberryPi --auth-type PrivateKeyFile --auth username:pathToPrivateKeyFile\n```\nThis authentication method uses a private SSH key file. You can generate one with [PuTTY](https://stackoverflow.com/a/2224204/1025407) or inside your GNU Linux distro using the [ssh-keygen](https://www.ssh.com/ssh/keygen) tool.\n\n* ### Classic (unsafe)\n```\ndotnet-ssh configure MyRaspberryPi --auth-type Classic --auth username:password\n```\n#### WARNING: \nThe **classic method** of authentication writes your login information in `launchsettings.json`, that is inside your project folder. Please, use it with caution. If you share the solution or push it to an online repository, your credentials will be publicly visible.\n\n## 2. Deploy your application\n\n1. After you've configured the profile, go to Visual Studio and open the solution you want to deploy. \n2. Set the project you want to deploy as startup project. \n3. In the launch settings dropdown (the one that is pointed by an arrow in the snapshop below) you'll see that your profile has been added. In case it hasn't been selected automatically, select it manually.\n![Vs Menu Snapshot](Docs/Vs-Menu-Snapshot.png)\n2. Run the app by clicking on the **play button** or pressing **F5**\n3. Your application should be deployed to the remote system. The application will also be executed if you have configured to do so. This is enabled by default.\n\n# Requirements for the remote machine\nBefore you run the application, you must ensure your remote device has the appropriate version of the .NET Core runtime installed.\n\nFor convenience, I've added the instructions to install v2.1 for Raspbian.\n## Installing .NET Core 2.1 for Raspbian\n\nExecute the following commands inside a terminal\n```\nsudo apt-get -y update\nsudo apt-get -y install libunwind8 gettext\nwget https://dotnetcli.blob.core.windows.net/dotnet/Sdk/2.1.300/dotnet-sdk-2.1.300-linux-arm.tar.gz\nwget https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/2.1.0/aspnetcore-runtime-2.1.0-linux-arm.tar.gz\nsudo mkdir /opt/dotnet\nsudo tar -xvf dotnet-sdk-2.1.300-linux-arm.tar.gz -C /opt/dotnet/\nsudo tar -xvf aspnetcore-runtime-2.1.0-linux-arm.tar.gz -C /opt/dotnet/\nsudo ln -s /opt/dotnet/dotnet /usr/local/bin\ndotnet --info\n```\n\n## Installing .NET Core in other Linux distros\n\nRefer to https://dotnet.microsoft.com/ for download and install instructions 🐔\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuperjmn%2Fdotnet-ssh-deployer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuperjmn%2Fdotnet-ssh-deployer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuperjmn%2Fdotnet-ssh-deployer/lists"}