From 2c2765650cda5cd757672beba760c82c6a84cd92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Sharma?= Date: Sun, 8 Sep 2019 17:02:12 -0700 Subject: [PATCH] Overhaul BaGet's documentation (#324) --- docs/cloud/aws.md | 25 ------ docs/cloud/azure.md | 65 --------------- docs/configuration.md | 23 +++-- docs/index.md | 74 ++--------------- docs/private-feeds.md | 24 ------ docs/quickstart/aws.md | 98 ++++++++++++++++++++++ docs/quickstart/azure.md | 106 ++++++++++++++++++++++++ docs/quickstart/docker.md | 79 ++++++++++++++++++ docs/{cloud => quickstart}/gcp.md | 6 +- docs/quickstart/iis-proxy.md | 44 ++++++++++ docs/quickstart/local.md | 48 +++++++++++ docs/vs/{vsts.md => azure-artifacts.md} | 2 +- docs/windows/iis-proxy.md | 45 ---------- mkdocs.yml | 19 +++-- 14 files changed, 412 insertions(+), 246 deletions(-) delete mode 100644 docs/cloud/aws.md delete mode 100644 docs/cloud/azure.md delete mode 100644 docs/private-feeds.md create mode 100644 docs/quickstart/aws.md create mode 100644 docs/quickstart/azure.md create mode 100644 docs/quickstart/docker.md rename docs/{cloud => quickstart}/gcp.md (93%) create mode 100644 docs/quickstart/iis-proxy.md create mode 100644 docs/quickstart/local.md rename docs/vs/{vsts.md => azure-artifacts.md} (73%) delete mode 100644 docs/windows/iis-proxy.md diff --git a/docs/cloud/aws.md b/docs/cloud/aws.md deleted file mode 100644 index 9381f718..00000000 --- a/docs/cloud/aws.md +++ /dev/null @@ -1,25 +0,0 @@ -# Running BaGet on AWS - -!!! warning - This page is a work in progress! - -## Amazon S3 - -You can configure BaGet to store uploaded packages on [Amazon S3](https://aws.amazon.com/s3/) -by updating the [`appsettings.json`](https://github.com/loic-sharma/BaGet/blob/master/src/BaGet/appsettings.json) file: - -```json -{ - ... - - "Storage": { - "Type": "AwsS3", - "Region": "us-west-1", - "Bucket": "foo", - "AccessKey": "", - "SecretKey": "" - }, - - ... -} -``` diff --git a/docs/cloud/azure.md b/docs/cloud/azure.md deleted file mode 100644 index f6c645c0..00000000 --- a/docs/cloud/azure.md +++ /dev/null @@ -1,65 +0,0 @@ -# Running BaGet on Azure - -!!! warning - This page is a work in progress! - -Use Azure to scale BaGet to nuget.org scale. You can configure BaGet to store metadata on [Azure SQL Database](https://azure.microsoft.com/en-us/services/sql-database/), upload packages to [Azure Blob Storage](https://azure.microsoft.com/en-us/services/storage/blobs/), and provide powerful search using [Azure Search](https://azure.microsoft.com/en-us/services/search/). - -## Azure SQL Database - -Update the [`appsettings.json`](https://github.com/loic-sharma/BaGet/blob/master/src/BaGet/appsettings.json) file: - -```json -{ - ... - - "Database": { - "Type": "SqlServer", - "ConnectionString": "..." - }, - - ... -} -``` - -## Azure Blob Storage - -Update the [`appsettings.json`](https://github.com/loic-sharma/BaGet/blob/master/src/BaGet/appsettings.json) file: - -```json -{ - ... - - "Storage": { - "Type": "AzureBlobStorage", - "AccountName": "my-account", - "Container": "my-container", - "AccessKey": "abcd1234" - }, - - ... -} -``` - -## Azure Search - -Update the [`appsettings.json`](https://github.com/loic-sharma/BaGet/blob/master/src/BaGet/appsettings.json) file: - -```json -{ - ... - - "Search": { - "Type": "Azure", - "AccountName": "my-account", - "ApiKey": "ABCD1234" - }, - - ... -} -``` - -## TODO - -* App Service -* High availibility setup \ No newline at end of file diff --git a/docs/configuration.md b/docs/configuration.md index a9d5b7de..d8ad3048 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -1,10 +1,10 @@ # Configuration -You can modify BaGet's configurations by editing the [`appsettings.json`](https://github.com/loic-sharma/BaGet/blob/master/src/BaGet/appsettings.json) file. +You can modify BaGet's configurations by editing the `appsettings.json` file. -## Requiring an API key +## Require an API Key -You can require that users provide a password, called an API key, to publish packages. +You can require that users provide a password, called an API Key, to publish packages. To do so, you can insert the desired API key in the `ApiKey` field. ```json @@ -17,16 +17,16 @@ To do so, you can insert the desired API key in the `ApiKey` field. Users will now have to provide the API key to push packages: ```c# -dotnet nuget push -s http://localhost:5000/v3/index.json -k NUGET-SERVER-API-KEY newtonsoft.json.11.0.2.nupkg +dotnet nuget push -s http://localhost:5000/v3/index.json -k NUGET-SERVER-API-KEY package.1.0.0.nupkg ``` -## Enabling Read-Through Caching +## Enable Read-Through Caching Read-through caching lets you index packages from an upstream source. You can use read-through caching to: 1. Speed up your builds if restores from [nuget.org](https://nuget.org) are slow -2. Enable package restores in offline scenarios +1. Enable package restores in offline scenarios The following `Mirror` settings configures BaGet to index packages from [nuget.org](https://nuget.org): @@ -46,7 +46,7 @@ The following `Mirror` settings configures BaGet to index packages from [nuget.o !!! info `PackageSource` is the value of the [NuGet service index](https://docs.microsoft.com/en-us/nuget/api/service-index). -## Enabling Package Hard Deletions +## Enable Package Hard Deletions To prevent the ["left pad" problem](https://blog.npmjs.org/post/141577284765/kik-left-pad-and-npm), BaGet's default configuration doesn't allow package deletions. Whenever BaGet receives a package deletion @@ -64,7 +64,7 @@ downloaded if you know the package's id and version. You can override this behav } ``` -## Enabling Package Overwrites +## Enable Package Overwrites Normally, BaGet will reject a package upload if the id and version is already taken. You can configure BaGet to overwrite the already existing package by setting `AllowPackageOverwrites`: @@ -78,3 +78,10 @@ to overwrite the already existing package by setting `AllowPackageOverwrites`: ... } ``` + +## Private Feeds + +A private feed requires users to authenticate before accessing packages. + +!!! warning + Private feeds are not supported at this time! See [this pull request](https://github.com/loic-sharma/BaGet/pull/69) for more information. \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 9f9ae244..6a216d82 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,71 +1,13 @@ # BaGet -## Getting Started +BaGet (pronounced "baguette") is a lightweight NuGet and symbol server. It is [open source](https://github.com/loic-sharma/BaGet), cross-platform, and cloud ready! -1. Install [.NET Core SDK](https://www.microsoft.com/net/download) -2. Download and extract [BaGet's latest release](https://github.com/loic-sharma/BaGet/releases) -3. Start the service with `dotnet BaGet.dll` -4. Browse `http://localhost:5000/` in your browser +## Run BaGet -## Pushing Packages +You can run BaGet on your preferred platform: -You can push a package using this command: - -``` -dotnet nuget push -s http://localhost:5000/v3/index.json newtonsoft.json.11.0.2.nupkg -``` - -## Using BaGet as a Symbol Server - -You can use BaGet as a Symbol Server by uploading -[symbol packages](https://docs.microsoft.com/en-us/nuget/create-packages/symbol-packages-snupkg). -After you've pushed a package to BaGet, you can push its corresponding -symbol package using this command: - -``` -dotnet nuget push -s http://localhost:5000/v3/index.json symbol.package.1.0.0.snupkg -``` - -You will need to add the symbol location `http://localhost:5000/api/download/symbols` to load symbols from BaGet. -[Use this guide](https://docs.microsoft.com/en-us/visualstudio/debugger/specify-symbol-dot-pdb-and-source-files-in-the-visual-studio-debugger?view=vs-2017#configure-symbol-locations-and-loading-options) for Visual Studio. - -## Running BaGet on Docker - -If you'd like, you can run BaGet on Docker: - -1. Pull the latest [docker image](https://hub.docker.com/r/loicsharma/baget): - -``` -docker pull loicsharma/baget -``` - -2. Create a file named `baget.env` with the content: - -``` -ApiKey=NUGET-SERVER-API-KEY -Storage__Type=FileSystem -Storage__Path=/var/baget/packages -Database__Type=Sqlite -Database__ConnectionString=Data Source=/var/baget/baget.db -Search__Type=Database -``` - -!!! info - The `baget.env` file stores [BaGet's configuration](configuration) as environment - variables. To learn how these configurations work, please refer to - [ASP.NET Core's Configuration documentation](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-2.1&tabs=basicconfiguration#configuration-by-environment). - -3. Create a folder named `baget-data` -4. Run: - -``` -docker run --rm --name nuget-server -p 5555:80 --env-file baget.env -v "$(pwd)/baget-data:/var/baget" loicsharma/baget:latest -``` - -5. Push your first package with: - -``` -dotnet nuget push -s http://localhost:5555/v3/index.json -k NUGET-SERVER-API-KEY newtonsoft.json.11.0.2.nupkg -``` - -6. Open the URL `http://localhost:5555/` in your browser +* [On your computer](quickstart/local.md) +* [Docker](quickstart/docker.md) +* [Azure](quickstart/azure.md) +* [AWS](quickstart/aws.md) +* [Google Cloud](quickstart/gcp.md) diff --git a/docs/private-feeds.md b/docs/private-feeds.md deleted file mode 100644 index d5fe1883..00000000 --- a/docs/private-feeds.md +++ /dev/null @@ -1,24 +0,0 @@ -# Private Feeds - -!!! warning - This page is a work in progress! See [this pull request](https://github.com/loic-sharma/BaGet/pull/69) for more information. - -!!! tip - Refer to the [API key](configuration/#requiring-an-api-key) documentation if you'd like to require an API key to push packages. - -A private feed requires users to authenticate before accessing packages. BaGet supports the following authentication providers: - -* [Azure Active Directory](#azure-active-directory) - -## Azure Active Directory - -### Setup - -* Build Azure Active Directory apps -* Register the users on the tenant -* Get the tenant id, app ids, etc.. - -### Configuration - -* Configure BaGet -* Configure the NuGet plugin \ No newline at end of file diff --git a/docs/quickstart/aws.md b/docs/quickstart/aws.md new file mode 100644 index 00000000..fed409d7 --- /dev/null +++ b/docs/quickstart/aws.md @@ -0,0 +1,98 @@ +# Run BaGet on AWS + +!!! warning + This page is a work in progress! + +Use Amazon Web Services to scale BaGet. You can store metadata on [Amazon RDS](https://aws.amazon.com/rds/postgresql/) and upload packages to [Amazon S3](https://aws.amazon.com/s3/). + +## Configure BaGet + +You can modify BaGet's configurations by editing the `appsettings.json` file. For the full list of configurations, please refer to [BaGet's configuration](../configuration.md) guide. + +### Amazon S3 + +Update the `appsettings.json` file: + +```json +{ + ... + + "Storage": { + "Type": "AwsS3", + "Region": "us-west-1", + "Bucket": "foo", + "AccessKey": "", + "SecretKey": "" + }, + + ... +} +``` + +### Amazon RDS + +To use PostgreSQL, update the `appsettings.json` file: + +```json +{ + ... + + "Database": { + "Type": "PostgreSql", + "ConnectionString": "..." + }, + + ... +} +``` + +To use MySQL, update the `appsettings.json` file: + +```json +{ + ... + + "Database": { + "Type": "MySql", + "ConnectionString": "..." + }, + + ... +} +``` + +## Publish Packages + +Publish your first package with: + +``` +dotnet nuget push -s http://localhost:5000/v3/index.json package.1.0.0.nupkg +``` + +Publish your first [symbol package](https://docs.microsoft.com/en-us/nuget/create-packages/symbol-packages-snupkg) with: + +``` +dotnet nuget push -s http://localhost:5000/v3/index.json symbol.package.1.0.0.snupkg +``` + +!!! warning + You should secure your server by requiring an API Key to publish packages. For more information, please refer to the [Require an API Key](../configuration.md#require-an-api-key) guide. + +## Restore Packages + +You can restore packages by using the following package source: + +`http://localhost:5000/v3/index.json` + +Some helpful guides: + +* [Visual Studio](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-visual-studio#package-sources) +* [NuGet.config](https://docs.microsoft.com/en-us/nuget/reference/nuget-config-file#package-source-sections) + +## Symbol Server + +You can load symbols by using the following symbol location: + +`http://localhost:5000/api/download/symbols` + +For Visual Studio, please refer to the [Configure Debugging](https://docs.microsoft.com/en-us/visualstudio/debugger/specify-symbol-dot-pdb-and-source-files-in-the-visual-studio-debugger?view=vs-2017#configure-symbol-locations-and-loading-options) guide. diff --git a/docs/quickstart/azure.md b/docs/quickstart/azure.md new file mode 100644 index 00000000..6843cc7f --- /dev/null +++ b/docs/quickstart/azure.md @@ -0,0 +1,106 @@ +# Run BaGet on Azure + +!!! warning + This page is a work in progress! + +Use Azure to scale BaGet. You can store metadata on [Azure SQL Database](https://azure.microsoft.com/en-us/services/sql-database/), upload packages to [Azure Blob Storage](https://azure.microsoft.com/en-us/services/storage/blobs/), and provide powerful search using [Azure Search](https://azure.microsoft.com/en-us/services/search/). + +## TODO + +* App Service +* Table Storage +* High availability setup + +## Configure BaGet + +You can modify BaGet's configurations by editing the `appsettings.json` file. For the full list of configurations, please refer to [BaGet's configuration](../configuration.md) guide. + +### Azure SQL Database + +Update the `appsettings.json` file: + +```json +{ + ... + + "Database": { + "Type": "SqlServer", + "ConnectionString": "..." + }, + + ... +} +``` + +### Azure Blob Storage + +Update the `appsettings.json` file: + +```json +{ + ... + + "Storage": { + "Type": "AzureBlobStorage", + "AccountName": "my-account", + "Container": "my-container", + "AccessKey": "abcd1234" + }, + + ... +} +``` + +### Azure Search + +Update the `appsettings.json` file: + +```json +{ + ... + + "Search": { + "Type": "Azure", + "AccountName": "my-account", + "ApiKey": "ABCD1234" + }, + + ... +} +``` + +## Publish Packages + +Publish your first package with: + +``` +dotnet nuget push -s http://localhost:5000/v3/index.json package.1.0.0.nupkg +``` + +Publish your first [symbol package](https://docs.microsoft.com/en-us/nuget/create-packages/symbol-packages-snupkg) with: + +``` +dotnet nuget push -s http://localhost:5000/v3/index.json symbol.package.1.0.0.snupkg +``` + +!!! warning + You should secure your server by requiring an API Key to publish packages. For more information, please refer to the [Require an API Key](../configuration.md#require-an-api-key) guide. + +## Restore Packages + +You can restore packages by using the following package source: + +`http://localhost:5000/v3/index.json` + +Some helpful guides: + +* [Visual Studio](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-visual-studio#package-sources) +* [NuGet.config](https://docs.microsoft.com/en-us/nuget/reference/nuget-config-file#package-source-sections) + +## Symbol Server + +You can load symbols by using the following symbol location: + +`http://localhost:5000/api/download/symbols` + +For Visual Studio, please refer to the [Configure Debugging](https://docs.microsoft.com/en-us/visualstudio/debugger/specify-symbol-dot-pdb-and-source-files-in-the-visual-studio-debugger?view=vs-2017#configure-symbol-locations-and-loading-options) guide. diff --git a/docs/quickstart/docker.md b/docs/quickstart/docker.md new file mode 100644 index 00000000..e2dc29d5 --- /dev/null +++ b/docs/quickstart/docker.md @@ -0,0 +1,79 @@ +# Run BaGet on Docker + +## Configure BaGet + +Create a file named `baget.env` to store BaGet's configurations: + +``` +# The following config is the API Key used to publish packages. +# You should change this to a secret value to secure your server. +ApiKey=NUGET-SERVER-API-KEY + +Storage__Type=FileSystem +Storage__Path=/var/baget/packages +Database__Type=Sqlite +Database__ConnectionString=Data Source=/var/baget/baget.db +Search__Type=Database +``` + +For a full list of configurations, please refer to [BaGet's configuration](../configuration.md) guide. + +!!! info + The `baget.env` file stores [BaGet's configuration](configuration) as environment + variables. To learn how these configurations work, please refer to + [ASP.NET Core's configuration documentation](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-2.1&tabs=basicconfiguration#configuration-by-environment). + +## Run BaGet + +1. Create a folder named `baget-data` in the same directory as the `baget.env` file. This will be used by BaGet to persist its state. +2. Pull BaGet's latest [docker image](https://hub.docker.com/r/loicsharma/baget): + +``` +docker pull loicsharma/baget +``` + +You can now run BaGet: + +``` +docker run --rm --name nuget-server -p 5555:80 --env-file baget.env -v "$(pwd)/baget-data:/var/baget" loicsharma/baget:latest +``` + +## Publish Packages + +Publish your first package with: + +``` +dotnet nuget push -s http://localhost:5555/v3/index.json -k NUGET-SERVER-API-KEY package.1.0.0.nupkg +``` + +Publish your first [symbol package](https://docs.microsoft.com/en-us/nuget/create-packages/symbol-packages-snupkg) with: + +``` +dotnet nuget push -s http://localhost:5555/v3/index.json -k NUGET-SERVER-API-KEY symbol.package.1.0.0.snupkg +``` + +!!! warning + The default API Key to publish packages is `NUGET-SERVER-API-KEY`. You should change this to a secret value to secure your server. See [Configure BaGet](#configure-baget). + +## Browse Packages + +You can browse packages by opening the URL [`http://localhost:5555/`](http://localhost:5555/) in your browser. + +## Restore Packages + +You can restore packages by using the following package source: + +`http://localhost:5555/v3/index.json` + +Some helpful guides: + +* [Visual Studio](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-visual-studio#package-sources) +* [NuGet.config](https://docs.microsoft.com/en-us/nuget/reference/nuget-config-file#package-source-sections) + +## Symbol Server + +You can load symbols by using the following symbol location: + +`http://localhost:5555/api/download/symbols` + +For Visual Studio, please refer to the [Configure Debugging](https://docs.microsoft.com/en-us/visualstudio/debugger/specify-symbol-dot-pdb-and-source-files-in-the-visual-studio-debugger?view=vs-2017#configure-symbol-locations-and-loading-options) guide. diff --git a/docs/cloud/gcp.md b/docs/quickstart/gcp.md similarity index 93% rename from docs/cloud/gcp.md rename to docs/quickstart/gcp.md index 41fe2dbc..d8daa013 100644 --- a/docs/cloud/gcp.md +++ b/docs/quickstart/gcp.md @@ -1,4 +1,4 @@ -# Running BaGet on Google Cloud +# Run BaGet on Google Cloud Platform !!! warning This page is a work in progress! @@ -7,7 +7,7 @@ We're open source and accept contributions! [Fork us on GitHub](https://github.com/loic-sharma/BaGet). Before you begin, you should decide [which AppEngine region](https://cloud.google.com/appengine/docs/locations) -you're going to use. For best performance, Cloud Storage and Cloud SQL should be located +you will use. For best performance, Cloud Storage and Cloud SQL should be located in the same region as your AppEngine deployment. ## Google Cloud Storage @@ -24,7 +24,7 @@ Follow the instructions in [Using Cloud Storage](https://cloud.google.com/appeng Set up a service account and download credentials. Set the `GOOGLE_APPLICATION_CREDENTIALS` environment variable to the path to the JSON file you downloaded. -Configure BaGet to use GCS by updating the [`appsettings.json`](https://github.com/loic-sharma/BaGet/blob/master/src/BaGet/appsettings.json) file: +Configure BaGet to use Google Cloud Storage by updating the `appsettings.json` file: ```json { diff --git a/docs/quickstart/iis-proxy.md b/docs/quickstart/iis-proxy.md new file mode 100644 index 00000000..83435fdd --- /dev/null +++ b/docs/quickstart/iis-proxy.md @@ -0,0 +1,44 @@ +# Windows IIS Proxy + +With a few extra steps you can run BaGet behind a Windows IIS proxy. This has many benefits, including automatic restarts on reboots. + +## IIS Setup + +1. Install the [.NET Core Runtime](https://dotnet.microsoft.com/download) on the web server. +1. Copy the BaGet directory over to your hosting area such as `C:\Inetpub\wwwroot\BaGet` +1. Using IIS Manager, create a new Application Pool: + + - Name = `BaGetAppPool` (can be whatever you want) + - .NET CLR version = No Managed Code + - Managed Pipeline Mode = Integrated + - Start application pool immediately = checked + +1. Using IIS Manager, create a new web site: + - Choose your site name and physical path + - Choose `BaGetAppPool` as the application pool + - In the Binding area, enter the default BaGet port of 5000 + +## BaGet Folder Permissions + +You **may** need to give special permissions to the top-level BaGet folder so that the app can persist its state. This is necessary as the Application Pools' identity is a virtual account that isn't recognized by the Windows User Management Console. For more information, please refer to ASP.NET Core's documentation: + +* [Application Pools](https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2#application-pools) +* [Application Pool Identity](https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2#application-pool-identity) + +## Alternative Storage Path + +!!! info + Virtual Directories do not work with IIS and Kestrel. For more information, please refer to [ASP.NET Core's documentation](https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2#virtual-directories). + +Ensure that the configuration's storage `Path` has the appropriate forward slashes: + +```javascript +... + "Storage": { + "Type": "FileSystem", + "Path": "C://AnotherFolder/Packages" + }, +... +``` + +Note that you will need to adjust folder permissions if the `Path` is created outside of the BaGet top-level directory. See the [BaGet Folder Permissions](#baget-folder-permissions). \ No newline at end of file diff --git a/docs/quickstart/local.md b/docs/quickstart/local.md new file mode 100644 index 00000000..2dd1bde5 --- /dev/null +++ b/docs/quickstart/local.md @@ -0,0 +1,48 @@ +# Run BaGet on your Computer + +## Run BaGet + +1. Install the [.NET Core SDK](https://www.microsoft.com/net/download) +1. Download and extract [BaGet's latest release](https://github.com/loic-sharma/BaGet/releases) +1. Start the service with `dotnet BaGet.dll` +1. Browse `http://localhost:5000/` in your browser + +## Configure BaGet + +You can modify BaGet's configurations by editing the `appsettings.json` file. For the full list of configurations, please refer to [BaGet's configuration](../configuration.md) guide. + +## Publish Packages + +Publish your first package with: + +``` +dotnet nuget push -s http://localhost:5000/v3/index.json package.1.0.0.nupkg +``` + +Publish your first [symbol package](https://docs.microsoft.com/en-us/nuget/create-packages/symbol-packages-snupkg) with: + +``` +dotnet nuget push -s http://localhost:5000/v3/index.json symbol.package.1.0.0.snupkg +``` + +!!! warning + You should secure your server by requiring an API Key to publish packages. For more information, please refer to the [Require an API Key](../configuration.md#require-an-api-key) guide. + +## Restore Packages + +You can restore packages by using the following package source: + +`http://localhost:5000/v3/index.json` + +Some helpful guides: + +* [Visual Studio](https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-visual-studio#package-sources) +* [NuGet.config](https://docs.microsoft.com/en-us/nuget/reference/nuget-config-file#package-source-sections) + +## Symbol Server + +You can load symbols by using the following symbol location: + +`http://localhost:5000/api/download/symbols` + +For Visual Studio, please refer to the [Configure Debugging](https://docs.microsoft.com/en-us/visualstudio/debugger/specify-symbol-dot-pdb-and-source-files-in-the-visual-studio-debugger?view=vs-2017#configure-symbol-locations-and-loading-options) guide. diff --git a/docs/vs/vsts.md b/docs/vs/azure-artifacts.md similarity index 73% rename from docs/vs/vsts.md rename to docs/vs/azure-artifacts.md index d212f36c..c7ef3b97 100644 --- a/docs/vs/vsts.md +++ b/docs/vs/azure-artifacts.md @@ -1,4 +1,4 @@ -# VSTS +# Azure Artifacts !!! warning This page is a work in progress! \ No newline at end of file diff --git a/docs/windows/iis-proxy.md b/docs/windows/iis-proxy.md deleted file mode 100644 index 23dcbb2b..00000000 --- a/docs/windows/iis-proxy.md +++ /dev/null @@ -1,45 +0,0 @@ -# Windows IIS Proxy - -Running BaGet behind IIS as a proxy on Windows may require a few extra steps, however it may be advantageous because IIS will automatically manage restarting the server for you on reboots, etc. - -## IIS Setup - -Ensure that the required [.Net Core runtime](https://dotnet.microsoft.com/download) is installed on the web server (currently known as the Windows Hosting Bundle installer). - -Copy the BaGet directory over to your hosting area such as `C:\Inetpub\wwwroot\BaGet` - -Using IIS Manager, create a new Application Pool: - -- Name = BaGetAppPool (can be whatever you want) -- .Net CLR version = No Managed Code -- Managed Pipeline Mode = Integrated -- Start application pool immediately = checked - -Using IIS Manager, create a new web site: - -- Choose your site name and physical path -- Choose BaGetAppPool as the application pool -- In the Binding area, enter the default BaGet port of 5000 - -## BaGet Folder permissions - -In order for the app to create the appropriate NuGet package folder, as well as create various files (SQLite database for example) you **may** need to give special rights to the top level BaGet folder. - -Read under, "Application Pools" and, "Application Pool Identity" [here](https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2). Basically the identity used in the app pool isn't a real user account and doesn't show up in the Windows User Management Console. - -## Alternative NuGet package Storage Paths - -Note that Virtual Directories will not work with IIS and Kestrel. Read more about that [here](https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2) - -Ensure that the configuration storage Path uses appropriate forward slashes in the settings such as: - -```javascript -... - "Storage": { - "Type": "FileSystem", - "Path": "C://AnotherFolder/Packages" - }, -... -``` - -Note if a folder is created outside of the BaGet top level directory, you will definitely need to adjust folder permissions stated above. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index b1e3f200..aff28456 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -33,20 +33,21 @@ markdown_extensions: permalink: true pages: - - BaGet: index.md + - Overview: index.md + - Getting Started: + - On your computer: quickstart/local.md + - Docker: quickstart/docker.md + - Azure: quickstart/azure.md + - AWS: quickstart/aws.md + - Google Cloud: quickstart/gcp.md + - Windows IIS Proxy: quickstart/iis-proxy.md - Configuration: configuration.md - - Private Feeds: private-feeds.md - - Running in the Cloud: - - Azure: cloud/azure.md - - Google Cloud: cloud/gcp.md - - AWS: cloud/aws.md - - Windows IIS Proxy: windows/iis-proxy.md - Tools: - Mirroring: tools/mirroring.md - - BaGet vs. Other Software: + - BaGet vs. Other: - nuget.org: vs/nugetorg.md - NuGet.Server: vs/nugetserver.md - - VSTS: vs/vsts.md + - Azure Artifacts: vs/azure-artifacts.md - MyGet: vs/myget.md - LiGet: vs/liget.md - Artifactory: vs/artifactory.md