{"id":16575275,"url":"https://github.com/kolosovpetro/azureubuntuvmdeploy","last_synced_at":"2025-10-27T18:40:38.901Z","repository":{"id":116314797,"uuid":"495185558","full_name":"kolosovpetro/AzureUbuntuVMDeploy","owner":"kolosovpetro","description":"Documentation on deploying an ASP.NET Core Web API on Azure Ubuntu VM with Nginx, Let's Encrypt SSL, and Cloudflare DNS for a secure, scalable setup.","archived":false,"fork":false,"pushed_at":"2024-11-28T22:14:02.000Z","size":7074,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-05T12:59:02.935Z","etag":null,"topics":["azure","azure-devops","azure-virtual-machine","deployment","github-actions","latex","lets-encrypt","letsencrypt","nginx","ssh","ubuntu2004"],"latest_commit_sha":null,"homepage":"https://kolosovpetro.github.io/pdf/AzureVMDeploy.pdf","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kolosovpetro.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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":"2022-05-22T21:50:49.000Z","updated_at":"2025-01-20T05:23:32.000Z","dependencies_parsed_at":"2025-03-05T18:34:47.435Z","dependency_job_id":"fe465ea2-f83b-4dc6-968e-219de580bcb2","html_url":"https://github.com/kolosovpetro/AzureUbuntuVMDeploy","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/kolosovpetro/AzureUbuntuVMDeploy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kolosovpetro%2FAzureUbuntuVMDeploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kolosovpetro%2FAzureUbuntuVMDeploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kolosovpetro%2FAzureUbuntuVMDeploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kolosovpetro%2FAzureUbuntuVMDeploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kolosovpetro","download_url":"https://codeload.github.com/kolosovpetro/AzureUbuntuVMDeploy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kolosovpetro%2FAzureUbuntuVMDeploy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281322869,"owners_count":26481547,"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","status":"online","status_checked_at":"2025-10-27T02:00:05.855Z","response_time":61,"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":["azure","azure-devops","azure-virtual-machine","deployment","github-actions","latex","lets-encrypt","letsencrypt","nginx","ssh","ubuntu2004"],"created_at":"2024-10-11T21:47:29.054Z","updated_at":"2025-10-27T18:40:38.876Z","avatar_url":"https://github.com/kolosovpetro.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Azure VM Deploy Guide\n\n## Abstract\n\nThis document provides a comprehensive guide on deploying an ASP.NET Core Web API on an Azure Ubuntu Server virtual\nmachine (VM).\nThe deployment process leverages Nginx as a reverse proxy,\nwhile secure HTTPS connection is being configured by using Let's Encrypt CertBot free SSL certificates.\nAdditionally, domain name (DNS) management is handled by utilizing Cloudflare.\nThis guide covers the end-to-end setup, including VM provisioning, API deployment, SSL configuration, and domain\nintegration,\nensuring a secure, scalable, and high-performance web application environment on Azure.\n\n## GitHub Actions used\n\n- https://github.com/actions/checkout\n- https://github.com/GitTools/actions/blob/main/docs/examples/github/gitversion/index.md\n- https://github.com/xu-cheng/latex-action\n- https://github.com/actions/upload-artifact\n\n## Build and run using PowerShell (Windows)\n\n- Install `MikTeX`: https://miktex.org/download\n- Update `MikTeX`\n- Install `SumatraPDF` viewer: https://www.sumatrapdfreader.org/download-free-pdf-viewer\n- `Rename-Tex-Files.ps1` renames main LaTeX and BibTeX files to match the repository root directory name\n- `Build-Latex.ps1`\n\n## Build and run in Intellij IDEA (Windows)\n\n- Install `MikTeX`: https://miktex.org/download\n- Update `MikTeX`\n- Install `SumatraPDF` viewer: https://www.sumatrapdfreader.org/download-free-pdf-viewer\n- Path to SumatraPDF: `C:\\Program Files\\SumatraPDF`\n- Install `Intellij IDEA Ultimate`: https://www.jetbrains.com/idea/download/#section=windows\n- Activate `Intellij IDEA Ultimate`\n- Install `TeXiFy IDEA` plugin: https://plugins.jetbrains.com/plugin/9473-texify-idea\n- Clone this repository locally: `https://github.com/kolosovpetro/github-latex-template.git`\n- Open `github-latex-template` folder in `Intellij IDEA Ultimate` and configure as follows\n    - LaTeX Configuration\n      ![LaTeX Configuration](./img/latex_configuration.PNG \"LaTeX Configuration\")\n    - BibTeX Configuration\n      ![BibTeX Configuration](./img/bibtex_configuration.PNG \"BibTeX Configuration\")\n- Configure Inverse Search in `Intellij IDEA` for SumatraPDF: `Tools -\u003e LaTeX -\u003e Configure Inverse Search`\n- Compile document using `Shift + F10`\n\n## How to use Mathematica package\n\n- Open the package file `GithubLatexTemplateMathematicaPackage.m` in Wolfram Mathematica, I use version 13.0\n- Execute the package using `Shift+Enter`\n- Open the notebook file `GithubLatexTemplateMathematicaNotebook.nb`\n- Execute the line: `Needs[\"GithubLatexTemplateMathematicaPackage\"]`\n- Continue your work as desired\n\n## Configure CI / CD\n\n- Update root file name in `build-pdf.yml` and `build-and-deploy-pdf.yml`\n- Set repository secrets\n    - `GH_ACCESS_TOKEN`: Generate GitHub Personal access token at\n      `Settings -\u003e Developer Settings -\u003e Personal access tokens -\u003e Generate mew token`\n\n## Actions and their trigger policy\n\n- `build-pdf.yml` builds project using `TeXLive`. Triggered on `pull_request`, `push` to `develop` branch\n- `build-and-deploy-pdf.yml` builds project using `TeXLive` and deploys to `GitHub Pages`. Triggered on `push` to `main`\n  branch\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkolosovpetro%2Fazureubuntuvmdeploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkolosovpetro%2Fazureubuntuvmdeploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkolosovpetro%2Fazureubuntuvmdeploy/lists"}