diff --git a/packages/dolt/content/guides/dolt-tested-apps.md b/packages/dolt/content/guides/dolt-tested-apps.md index 62a27e582..99b1bd1e9 100644 --- a/packages/dolt/content/guides/dolt-tested-apps.md +++ b/packages/dolt/content/guides/dolt-tested-apps.md @@ -11,15 +11,16 @@ Let us know what else you'd like to see tested by sending us [email](mailto:inte ## Frameworks/ORMs | ORM | Language | Blog | Sample Code | |-------------------------------------------------------------------------------------------|------------|--------------------------------------------------------------------------------|------------------------------------------------------------------------------| -| [SQLAlchemy](https://www.sqlalchemy.org/) | Python | [Blog](https://www.dolthub.com/blog/2023-07-12-sql-alchemy-getting-started/) | [Code](https://github.com/timsehn/dolt-sqlalchemy-getting-started/tree/main) | +| [ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/introduction-to-aspnet-core) | C# | [Blog](https://www.dolthub.com/blog/2024-02-28-works-with-dolt-dotnet-webapp/) | [Code](https://github.com/dolthub/dolt-dotnet-webapp-sample) | | [Django](https://www.djangoproject.com/) | Python | [Blog](https://www.dolthub.com/blog/2024-01-31-dolt-django/) | [Code](https://github.com/dolthub/dolt_django) | +| [Ecto](https://hexdocs.pm/ecto/Ecto.html) | Elixir | [Blog](https://www.dolthub.com/blog/2021-07-16-ecto-dolt/) | [Code](https://github.com/VinaiRachakonda/Ecto-Dolt-Sample) | +| [EF Core](https://learn.microsoft.com/en-us/ef/core/) | C# | [Blog](https://www.dolthub.com/blog/2023-12-04-works-with-dolt-efcore/) | [Code](https://github.com/dolthub/efcore-sample) | +| [GORM](https://gorm.io/docs/) | Golang | [Blog](https://www.dolthub.com/blog/2024-03-15-gorm-with-dolt) | [Code](https://github.com/dolthub/gorm-demo) | | [Hibernate ](https://hibernate.org/) | Java | [Blog](https://www.dolthub.com/blog/2023-11-13-dolt-on-hibernate/) | [Code](https://github.com/dolthub/hibernate-sample) | | [Knex.js](https://knexjs.org/) | Javascript | [Blog](https://www.dolthub.com/blog/2023-09-27-dolt-and-knexjs/) | [Code](https://github.com/dolthub/dolt-knexjs-example) | -| [EF Core](https://learn.microsoft.com/en-us/ef/core/) | C# | [Blog](https://www.dolthub.com/blog/2023-12-04-works-with-dolt-efcore/) | [Code](https://github.com/dolthub/efcore-sample) | -| [ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/introduction-to-aspnet-core) | C# | [Blog](https://www.dolthub.com/blog/2024-02-28-works-with-dolt-dotnet-webapp/) | [Code](https://github.com/dolthub/dolt-dotnet-webapp-sample) | | [Laravel](https://laravel.com/) | PHP | [Blog](https://www.dolthub.com/blog/2024-01-08-dolt-laravel/) | [Code](https://github.com/dolthub/chirper) | | [Ruby on Rails](https://rubyonrails.org/) | Ruby | [Blog](https://www.dolthub.com/blog/2024-02-09-dolt-ruby-on-rails/) | [Code](https://github.com/dolthub/dolt_rails) | -| [GORM](https://gorm.io/docs/) | Golang | [Blog](https://www.dolthub.com/blog/2024-03-15-gorm-with-dolt) | [Code](https://github.com/dolthub/gorm-demo) | +| [SQLAlchemy](https://www.sqlalchemy.org/) | Python | [Blog](https://www.dolthub.com/blog/2023-07-12-sql-alchemy-getting-started/) | [Code](https://github.com/timsehn/dolt-sqlalchemy-getting-started/tree/main) | | [Shiny](https://shiny.posit.co/) | R | [Blog](https://www.dolthub.com/blog/2024-04-26-dolt-r-shiny/) | [Code](https://github.com/dolthub/dolt_shiny) | ## Tools @@ -27,12 +28,13 @@ Let us know what else you'd like to see tested by sending us [email](mailto:inte | Tool | Blog | |----------------------------------------------------------------|------------------------------------------------------------------------------| | [Apache Superset](https://superset.apache.org/) | [Blog](https://www.dolthub.com/blog/2023-01-27-dolt-superset/) | -| [Datadog](https://www.datadoghq.com/) | [Blog](https://www.dolthub.com/blog/2024-05-17-dolt-datadog-dashboards/) | +| [Datadog](https://www.datadoghq.com/) | [Blog](https://www.dolthub.com/blog/2024-05-17-dolt-datadog-dashboards/) | | [Excel](https://www.microsoft.com/en-us/microsoft-365/excel) | [Blog](https://www.dolthub.com/blog/2023-11-24-dolt-excel) | | [Google Sheets](https://www.google.com/sheets/about/#overview) | [Blog](https://www.dolthub.com/blog/2023-09-15-dolt-google-sheets/) | | [Looker Studio](https://lookerstudio.google.com/) | [Blog](https://www.dolthub.com/blog/2023-02-13-dolt-looker/) | | [MediaWiki](https://www.mediawiki.org/wiki/MediaWiki) | [Blog](https://www.dolthub.com/blog/2024-04-05-dolt-mediawiki-wikipedia/) | | [Metabase](https://github.com/metabase/metabase) | [Blog](https://www.dolthub.com/blog/2024-01-24-dolt-metabase/) | +| [R Studio](https://posit.co/download/rstudio-desktop/) | [Blog](https://www.dolthub.com/blog/2022-02-14-dolt-and-r/) | | [Retool](https://retool.com/) | [Blog](https://www.dolthub.com/blog/2023-01-03-superpower-retool-with-dolt/) | | [WordPress](https://wordpress.com/) | [Blog](https://www.dolthub.com/blog/2023-08-04-wordpress-on-dolt/) | | [XCA](https://hohnstaedt.de/xca/) | [Blog](https://www.dolthub.com/blog/2023-08-21-xca-on-dolt/) | diff --git a/packages/dolt/content/reference/sql/version-control/dolt-sql-procedures.md b/packages/dolt/content/reference/sql/version-control/dolt-sql-procedures.md index 9647fde0f..031af4163 100644 --- a/packages/dolt/content/reference/sql/version-control/dolt-sql-procedures.md +++ b/packages/dolt/content/reference/sql/version-control/dolt-sql-procedures.md @@ -713,6 +713,8 @@ the CLI, and takes the same arguments. CALL DOLT_FETCH('origin', 'main'); CALL DOLT_FETCH('origin', 'feature-branch'); CALL DOLT_FETCH('origin', 'refs/heads/main:refs/remotes/origin/main'); +CALL DOLT_FETCH('origin', NULL); +CALL DOLT_FETCH('origin'); ``` ### Options @@ -742,6 +744,10 @@ SELECT HASHOF('origin/main'); CALL DOLT_MERGE('origin/main'); ``` +### Notes +Dropping the second argument, or passing NULL, will result is using the default refspec. + + ## `DOLT_GC()` Cleans up unreferenced data from the database. Running the `dolt_gc` procedure on a Dolt diff --git a/packages/doltgres/content/reference/sql/version-control/dolt-sql-procedures.md b/packages/doltgres/content/reference/sql/version-control/dolt-sql-procedures.md index eb4aa8f48..1acd73725 100644 --- a/packages/doltgres/content/reference/sql/version-control/dolt-sql-procedures.md +++ b/packages/doltgres/content/reference/sql/version-control/dolt-sql-procedures.md @@ -698,6 +698,8 @@ and update remote-tracking branches.. CALL DOLT_FETCH('origin', 'main'); CALL DOLT_FETCH('origin', 'feature-branch'); CALL DOLT_FETCH('origin', 'refs/heads/main:refs/remotes/origin/main'); +CALL DOLT_FETCH('origin', NULL); +CALL DOLT_FETCH('origin'); ``` ### Options @@ -727,6 +729,9 @@ SELECT HASHOF('origin/main'); CALL DOLT_MERGE('origin/main'); ``` +### Notes +Dropping the second argument, or passing NULL, will result is using the default refspec. + ## `DOLT_GC()` Cleans up unreferenced data from the database. Running the `dolt_gc` procedure on a Dolt diff --git a/packages/doltlab/content/.gitbook/assets/doltlab-gcp-actions-on-match.png b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-actions-on-match.png new file mode 100644 index 000000000..aa33e15db Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-actions-on-match.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab-gcp-compute-engine.png b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-compute-engine.png new file mode 100644 index 000000000..31d1fc119 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-compute-engine.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab-gcp-create-instance.png b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-create-instance.png new file mode 100644 index 000000000..f186dfdb1 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-create-instance.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab-gcp-create-project.png b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-create-project.png new file mode 100644 index 000000000..415682ab9 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-create-project.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab-gcp-default-boot-disk.png b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-default-boot-disk.png new file mode 100644 index 000000000..9102f542b Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-default-boot-disk.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab-gcp-enable-http.png b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-enable-http.png new file mode 100644 index 000000000..761709a1a Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-enable-http.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab-gcp-firewall-rule.png b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-firewall-rule.png new file mode 100644 index 000000000..ce650bd14 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-firewall-rule.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab-gcp-fresh-doltlab.png b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-fresh-doltlab.png new file mode 100644 index 000000000..8cadee2ce Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-fresh-doltlab.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab-gcp-machine-configuration.png b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-machine-configuration.png new file mode 100644 index 000000000..63b8af2c1 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-machine-configuration.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab-gcp-new-project.png b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-new-project.png new file mode 100644 index 000000000..e5b9feb2c Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-new-project.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab-gcp-proper-boot-disk.png b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-proper-boot-disk.png new file mode 100644 index 000000000..685423f09 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-proper-boot-disk.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab-gcp-proper-firewall-rules.png b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-proper-firewall-rules.png new file mode 100644 index 000000000..89236f02b Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-proper-firewall-rules.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab-gcp-protocols-and-ports.png b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-protocols-and-ports.png new file mode 100644 index 000000000..306389591 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-protocols-and-ports.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab-gcp-running-instance.png b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-running-instance.png new file mode 100644 index 000000000..3d6f6b7e3 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-running-instance.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab-gcp-ssh-button.png b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-ssh-button.png new file mode 100644 index 000000000..f93e61714 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-ssh-button.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab-gcp-ssh-window.png b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-ssh-window.png new file mode 100644 index 000000000..987edfe0f Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab-gcp-ssh-window.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_port_rule_inbound.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_port_rule_inbound.png new file mode 100644 index 000000000..99d4ce744 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_port_rule_inbound.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_1.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_1.png new file mode 100644 index 000000000..a04fe49db Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_1.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_2.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_2.png new file mode 100644 index 000000000..0d9e31f61 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_2.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_3.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_3.png new file mode 100644 index 000000000..77bd38953 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_3.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_4.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_4.png new file mode 100644 index 000000000..8c0eb8173 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_4.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_5.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_5.png new file mode 100644 index 000000000..c23d9ed90 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_5.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_6.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_6.png new file mode 100644 index 000000000..9011891cb Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_6.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_7.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_7.png new file mode 100644 index 000000000..95dd973db Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_create_virtual_machine_step_7.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_download_key.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_download_key.png new file mode 100644 index 000000000..d814ffd33 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_download_key.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_feature_image.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_feature_image.png new file mode 100644 index 000000000..7f9cdd5de Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_feature_image.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_http_port_rule.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_http_port_rule.png new file mode 100644 index 000000000..337377b57 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_http_port_rule.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_live.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_live.png new file mode 100644 index 000000000..9b26ce048 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_live.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_network_settings.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_network_settings.png new file mode 100644 index 000000000..d9eb9f491 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_network_settings.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_port_rules_summary.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_port_rules_summary.png new file mode 100644 index 000000000..3ea0ce1f8 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_port_rules_summary.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_select_virtual_machines.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_select_virtual_machines.png new file mode 100644 index 000000000..a278592dc Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_select_virtual_machines.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_test_db.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_test_db.png new file mode 100644 index 000000000..850340595 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_test_db.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_virtual_machine_dashboard.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_virtual_machine_dashboard.png new file mode 100644 index 000000000..62bdff060 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_virtual_machine_dashboard.png differ diff --git a/packages/doltlab/content/.gitbook/assets/doltlab_azure_virtual_machines_dashboard.png b/packages/doltlab/content/.gitbook/assets/doltlab_azure_virtual_machines_dashboard.png new file mode 100644 index 000000000..2fadf1d94 Binary files /dev/null and b/packages/doltlab/content/.gitbook/assets/doltlab_azure_virtual_machines_dashboard.png differ diff --git a/packages/doltlab/content/SUMMARY.md b/packages/doltlab/content/SUMMARY.md index 253c757de..13eb98fd9 100644 --- a/packages/doltlab/content/SUMMARY.md +++ b/packages/doltlab/content/SUMMARY.md @@ -3,7 +3,10 @@ ## Introduction - [What is DoltLab?](introduction/what-is-doltlab.md) -- [Getting Started](introduction/getting-started.md) +- [Getting Started](introduction/getting-started/getting-started.md) + - [AWS](introduction/getting-started/aws.md) + - [Azure](introduction/getting-started/azure.md) + - [GCP](introduction/getting-started/gcp.md) ## Enterprise diff --git a/packages/doltlab/content/introduction/getting-started/aws.md b/packages/doltlab/content/introduction/getting-started/aws.md new file mode 100644 index 000000000..db334081f --- /dev/null +++ b/packages/doltlab/content/introduction/getting-started/aws.md @@ -0,0 +1,84 @@ +# Get a Ubuntu EC2 Instance + +To get your DoltLab ready host on AWS: + +1. Go to [AWS EC2 console](https://console.aws.amazon.com/ec2/) and click "Launch instance". + +2. Select a Ubuntu 22.04 amd64 t2.xlarge instance. + +![](../../.gitbook/assets/getting-started/doltlab-aws-ec2-instance-type.png) + +3. Create a new RSA key pair for your instance in `.pem` format. + +![](../../.gitbook/assets/getting-started/create-new-key-pair.png) + +This will create a `.pem` file and download it locally. + +3. Edit network settings and from the "Auto-assign public IP" drop-down menu choose "Enable". + +![](../../.gitbook/assets/getting-started/doltlab-aws-ec2-pub-ip.png) + +4. Add security group rules for ports 22 (SSH), 80 (HTTP), 443 (HTTPS), 100 (CUSTOM), 4321 (CUSTOM), 50051 (CUSTOM) that allow ingress from anywhere. Specifics [here](https://docs.doltlab.com/introduction/installation#networking-requirements). You also may need to create a new VPC and Subnet here. Just use the defaults. + +![](../../.gitbook/assets/getting-started/doltlab-aws-ec2-security-rules.png) + +5. Add 300GB gp3 disk. + +![](../../.gitbook/assets/getting-started/doltlab-aws-ec2-storage.png) + +6. Click "Launch instance". + +![](../../.gitbook/assets/getting-started/doltlab-aws-ec2-launch-summary.png) + +After this you should get a public IP for your new host. Mine was `54.191.163.60`. + +# SSH to your New Host + +Now I need to SSH to this host. I copy the `.pem` file I created when I launched the instance to my `.ssh` folder, give it appropriate permissions and then I can ssh to my new host. + +```sh +$ cp ~/Downloads/doltlab.pem ~/.ssh +$ chmod 600 .ssh/doltlab.pem +$ ssh -i ~/.ssh/doltlab.pem ubuntu@54.191.163.60 +Enter passphrase for key '/Users/timsehn/.ssh/y': +Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.5.0-1014-aws x86_64) + + * Documentation: https://help.ubuntu.com + * Management: https://landscape.canonical.com + * Support: https://ubuntu.com/pro + + System information as of Thu Apr 25 17:17:23 UTC 2024 + + System load: 0.0185546875 Processes: 124 + Usage of /: 0.5% of 339.02GB Users logged in: 0 + Memory usage: 1% IPv4 address for eth0: 10.2.0.124 + Swap usage: 0% + +Expanded Security Maintenance for Applications is not enabled. + +0 updates can be applied immediately. + +Enable ESM Apps to receive additional future security updates. +See https://ubuntu.com/esm or run: sudo pro status + + +The list of available updates is more than a week old. +To check for new updates run: sudo apt update + + +The programs included with the Ubuntu system are free software; +the exact distribution terms for each program are described in the +individual files in /usr/share/doc/*/copyright. + +Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by +applicable law. + +To run a command as administrator (user "root"), use "sudo ". +See "man sudo_root" for details. + +ubuntu@ip-10-2-0-124:~$ +``` + +I'm in! + +Now that you have a DoltLab ready host, [continue the Getting Started guide](./getting-started.md#download-doltlab-and-its-dependencies) \ No newline at end of file diff --git a/packages/doltlab/content/introduction/getting-started/azure.md b/packages/doltlab/content/introduction/getting-started/azure.md new file mode 100644 index 000000000..2522ff4eb --- /dev/null +++ b/packages/doltlab/content/introduction/getting-started/azure.md @@ -0,0 +1,241 @@ +# Get A Ubuntu Host on Azure + +The first step for setting up DoltLab in Microsoft Azure Cloud is provisioning a [virtual machine](https://azure.microsoft.com/en-us/products/virtual-machines). A virtual machine in Azure is Microsoft's equivalent to [EC2](https://aws.amazon.com/pm/ec2) in AWS. + +Referencing the [recommended minimum hardware for DoltLab](https://docs.doltlab.com/administrator-guides/installation#minimum-recommended-hardware), we'll provision a virtual machine with at least 4 CPU and 16 GB of RAM. We'll also need to ensure our host has at least 300 GB of disk. + +From the Azure Cloud console, we'll select "Virtual machines" from the list of services. + +![Select create virtual machine from service list](../../.gitbook/assets/doltlab_azure_select_virtual_machines.png) + +This will take you to the Virtual Machines Dashboard. + +![Virtual machines dashboard](../../.gitbook/assets/doltlab_azure_virtual_machines_dashboard.png) + +Next, click "Create". This will take you to the following form with the "Basics" tab open. + +![Create virtual machine step 1](../../.gitbook/assets/doltlab_azure_create_virtual_machine_step_1.png) + +The "Subscription" field of the "Project details" section should have your Azure subscription selected. Mine is called "Azure subscription 1". I've also chosen to create a new "Resource group" called "doltlab". + +In "Instance details", I've named our DoltLab instance "doltlab", and chosen the appropriate region and availability where I want my virtual machine deployed. + +"Security type" defaults to "Trusted launch virtual machines", and does not need to be changed. + +For "Image", DoltLab requires Ubuntu, so I went with `20.04 LTS`, though `22.04 LTS` is also fine. DoltLab also requires `x86` for "VM architecture" so the choice is selected as well. + +![Create virtual machine step 2](../../.gitbook/assets/doltlab_azure_create_virtual_machine_step_2.png) + +Scrolling further down the page, for "Size", we select `Standard_D4s_v3` which meets the minimum hardware requirements, and we choose "SSH public key" for connecting to our virtual machine. + +We use the default value for "Username", `azureuser`, choose "Generate a new key pair" under "SSH public key source", since we don't have an existing one to use on this host. + +Now click over to the "Disks" tab. + +![Create virtual machine step 3](../../.gitbook/assets/doltlab_azure_create_virtual_machine_step_3.png) + +Here we can choose the size of the OS disk, which defaults to 30 GB. This is sufficient for the OS, but we _do_ need at least 300 GBs for DoltLab. + +For that, under the "Data disks" section at the bottom, we can click "Create and attach a new disk". + +![Create virtual machine step 4](../../.gitbook/assets/doltlab_azure_create_virtual_machine_step_4.png) + +We can make our data disk for DoltLab using this form. Since the default size for this new disk is 1TB, we go ahead and leave the default values for all fields here. The one exception is whether you want to have this disk automatically deleted when the virtual machine is deleted. I chose this option. + +Click "Ok", then move on to the "Networking" tab. + +![Create virtual machine step 5](../../.gitbook/assets/doltlab_azure_create_virtual_machine_step_5.png) + +By default, new "Subnet" and new "Public IP" are selected for us. And, since we don't have existing ones we want to use, this is fine for us. + +We also want to delete the public IP if we delete the virtual machine, so we check "Delete public IP and NIC when VM is deleted". + +Finally, we can click "Review + create". + +![Create virtual machine step 6](../../.gitbook/assets/doltlab_azure_create_virtual_machine_step_6.png) +![Create virtual machine step 7](../../.gitbook/assets/doltlab_azure_create_virtual_machine_step_7.png) + +You'll see a summary of all the configuration options on this page. Click "create" to deploy your virtual machine. Azure will then prompt you to download the generated private key file you'll need to ssh into the host. + +![Download ssh key](../../.gitbook/assets/doltlab_azure_download_key.png) + +Click "Download private key and create resource". + +Azure will begin the deployment of your host, and it will take a minute or two to come up. In the meantime, change the permissions of the private key you downloaded by running: + +```bash +chmod 400 doltlab_key.pem +``` + +Now let's open the required ports on our virtual machine. + +# Open the required ports + +When the virtual machine is up and running, Azure will redirect you to the dashboard for your running virtual machine. + +![Virtual machine dashboard](../../.gitbook/assets/doltlab_azure_virtual_machine_dashboard.png) + +From the menu on the left, under the "Networking" section, choose "Network settings". This is where we will create inbound rules for the ports DoltLab requires to be open. + +![Network settings](../../.gitbook/assets/doltlab_azure_network_settings.png) + +We can see that our ssh inbound rule is already configured. Now we need open ports `80`, `100`, `4321`, and `50051` [which are required for DoltLab](https://docs.doltlab.com/administrator-guides/installation#networking-requirements). + +Click "Create port rule". + +![Inbound port rule](../../.gitbook/assets/doltlab_azure_create_port_rule_inbound.png) + +Be sure to select "Inbound port rule". Following this you'll see the form you use to create each port rule. + +![Http port rule](../../.gitbook/assets/doltlab_azure_http_port_rule.png) + +Creating a rule for port `80` can be done by selecting "HTTP" from the "Service" dropdown menu. Make sure "Action" is "Allow" and click "Add". + +For the remaining ports, click "Create port rule" for each one, then fill in the form to create the new port rules. Each port rule should have a "Source" of "Any", an "*" for "Source port ranges", "Any" for "Destination", nothing for "Service", and the port number you're adding in "Destination port ranges", one of `100`, `4321`, and `50051`. + +All port-rule "Protocols" should be "TCP", with "Action" "Allow". None of the other settings need to be modified from their default values here. Click "Add" to create each new port rule. + +When you're finished, your ports should look like this: + +![Port summary](../../.gitbook/assets/doltlab_azure_port_rules_summary.png) + +If they do, you've successfully provisioned your virtual machine for DoltLab and it's time to connect to it and set up the attached disk. + +# Configure the disk + +To connect to your virtual machine, ssh into it with a command like the following: + +```bash +ssh -i ~/.ssh/doltlab_key.pem azureuser@52.233.81.206 +``` + +Once connected, if you look for the 1TB disk we attached while creating the virtual machine, you won't see it listed. + +```bash +azureuser@doltlab:~$ df -h +Filesystem Size Used Avail Use% Mounted on +/dev/root 29G 1.5G 28G 5% / +devtmpfs 7.8G 0 7.8G 0% /dev +tmpfs 7.8G 0 7.8G 0% /dev/shm +tmpfs 1.6G 996K 1.6G 1% /run +tmpfs 5.0M 0 5.0M 0% /run/lock +tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup +/dev/loop0 64M 64M 0 100% /snap/core20/2264 +/dev/loop1 39M 39M 0 100% /snap/snapd/21465 +/dev/loop2 92M 92M 0 100% /snap/lxd/24061 +/dev/sda15 105M 6.1M 99M 6% /boot/efi +/dev/sdb1 32G 28K 30G 1% /mnt +tmpfs 1.6G 0 1.6G 0% /run/user/1000 +``` + +This is because we need to format and partition the disk before we can use it. To do this, I followed [this documentation](https://learn.microsoft.com/en-us/azure/virtual-machines/linux/attach-disk-portal), but I'll show each step I performed on my host here as well. + +First, I used `lsblk` to search for the 1TB attached disk. + +```bash +azureuser@doltlab:~$ lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd" +sda 0:0:0:0 30G +├─sda1 29.9G / +├─sda14 4M +└─sda15 106M /boot/efi +sdb 0:0:0:1 32G +└─sdb1 32G /mnt +sdc 1:0:0:0 1T +``` + +The disk we attached is `sdc`. + +Next we use the `parted` and `partprobe` utilities to format and partition the disk. + +```bash +azureuser@doltlab:~$ sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100% +azureuser@doltlab:~$ sudo mkfs.xfs /dev/sdc1 +meta-data=/dev/sdc1 isize=512 agcount=4, agsize=67108736 blks + = sectsz=4096 attr=2, projid32bit=1 + = crc=1 finobt=1, sparse=1, rmapbt=0 + = reflink=1 +data = bsize=4096 blocks=268434944, imaxpct=25 + = sunit=0 swidth=0 blks +naming =version 2 bsize=4096 ascii-ci=0, ftype=1 +log =internal log bsize=4096 blocks=131071, version=2 + = sectsz=4096 sunit=1 blks, lazy-count=1 +realtime =none extsz=4096 blocks=0, rtextents=0 +azureuser@doltlab:~$ sudo partprobe /dev/sdc1 +``` + +Then we need to mount the disk and get the block id using `blkid`. We'll mount the disk to `/datadrive`. + +```bash +azureuser@doltlab:~$ sudo mkdir /datadrive +azureuser@doltlab:~$ sudo mount /dev/sdc1 /datadrive +azureuser@doltlab:~$ sudo blkid +/dev/sdb1: UUID="37f8c837-59f6-4e39-aac4-9c885a8c36fa" TYPE="ext4" PARTUUID="04c7e087-01" +/dev/sda1: LABEL="cloudimg-rootfs" UUID="32c589b5-7835-4684-9994-62e8fb26cd85" TYPE="ext4" PARTUUID="543198b3-f3a1-4b8c-af24-13528d57bedf" +/dev/sda15: LABEL_FATBOOT="UEFI" LABEL="UEFI" UUID="9915-EF3D" TYPE="vfat" PARTUUID="74635b66-5240-4255-aa0c-8c5ba19b7933" +/dev/loop0: TYPE="squashfs" +/dev/loop1: TYPE="squashfs" +/dev/loop2: TYPE="squashfs" +/dev/sda14: PARTUUID="293179ee-1e44-4436-a325-a8dd7eb21c8e" +/dev/sdc1: UUID="0dee6a06-1d62-4e14-a437-ea2ad1e82d09" TYPE="xfs" PARTLABEL="xfspart" PARTUUID="f9c4f28d-a3cb-4618-a115-5cc88a292d99" +``` + +Next, we edit `/etc/fstab` and add our device's `UUID` to the file. + +```bash +azureuser@doltlab:~$ sudo cat /etc/fstab +# CLOUD_IMG: This file was created/modified by the Cloud Image build process +UUID=32c589b5-7835-4684-9994-62e8fb26cd85 / ext4 defaults,discard 0 1 +UUID=9915-EF3D /boot/efi vfat umask=0077 0 1 +/dev/disk/cloud/azure_resource-part1 /mnt auto defaults,nofail,x-systemd.requires=cloud-init.service,_netdev,comment=cloudconfig 0 2 +UUID=0dee6a06-1d62-4e14-a437-ea2ad1e82d09 /datadrive xfs defaults,nofail 1 2 +``` + +Once those edits are saved, we can see our new device successfully mounted using `lsblk` and `df`: + +```bash +azureuser@doltlab:~$ lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd" +sda 0:0:0:0 30G +├─sda1 29.9G / +├─sda14 4M +└─sda15 106M /boot/efi +sdb 0:0:0:1 32G +└─sdb1 32G /mnt +sdc 1:0:0:0 1T +└─sdc1 1024G /datadrive +azureuser@doltlab:~$ df -h +Filesystem Size Used Avail Use% Mounted on +/dev/root 29G 1.5G 28G 5% / +devtmpfs 7.8G 0 7.8G 0% /dev +tmpfs 7.8G 0 7.8G 0% /dev/shm +tmpfs 1.6G 1000K 1.6G 1% /run +tmpfs 5.0M 0 5.0M 0% /run/lock +tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup +/dev/loop0 64M 64M 0 100% /snap/core20/2264 +/dev/loop1 39M 39M 0 100% /snap/snapd/21465 +/dev/loop2 92M 92M 0 100% /snap/lxd/24061 +/dev/sda15 105M 6.1M 99M 6% /boot/efi +/dev/sdb1 32G 28K 30G 1% /mnt +tmpfs 1.6G 0 1.6G 0% /run/user/1000 +/dev/sdc1 1.0T 7.2G 1017G 1% /datadrive +``` + +Finally, we need to change the permissions of `/datadrive` so we can write to it. Initially, only `root` can do so. + +```bash +azureuser@doltlab:~$ ls -la /datadrive +total 4 +drwxr-xr-x 2 root root 6 May 29 21:07 . +drwxr-xr-x 20 root root 4096 May 29 21:07 .. +``` + +This can be done using `chown`: + +```bash +azureuser@doltlab:~$ sudo chown azureuser: /datadrive +azureuser@doltlab:~$ ls -la /datadrive +total 4 +drwxr-xr-x 2 azureuser azureuser 6 May 29 21:07 . +drwxr-xr-x 20 root root 4096 May 29 21:07 .. +``` + +Our disk is now ready, and we can move on to installing and running DoltLab. [Continue the Getting Started guide](./getting-started.md#download-doltlab-and-its-dependencies). \ No newline at end of file diff --git a/packages/doltlab/content/introduction/getting-started/gcp.md b/packages/doltlab/content/introduction/getting-started/gcp.md new file mode 100644 index 000000000..d9b662cee --- /dev/null +++ b/packages/doltlab/content/introduction/getting-started/gcp.md @@ -0,0 +1,85 @@ +# Get A Ubuntu Host on GCP + +We need a properly configured Ubuntu host to run DoltLab on. This will take a few steps. Start by going to [Google Cloud Platform console](https://console.cloud.google.com/). + +## Create a GCP Project + +Let's create a new project for our DoltLab. Click Create Project and you'll be greeted by this screen. + +![Create Project](../../.gitbook/assets/doltlab-gcp-create-project.png) + +This takes a couple seconds and then you need to switch to the project. + +![New Project](../../.gitbook/assets/doltlab-gcp-new-project.png) + +Google really wants me to use Gemini. I can't get rid of that pop up. + +## Procure a New Compute Engine Instance + +Now, we need a compute engine instance. Click Compute Engine and the click Enable. Compute Engine does not seem to be on by default for new projects. This takes a couple minutes but once enabled you'll be greeted with this screen. + +![Compute Engine](../../.gitbook/assets/doltlab-gcp-compute-engine.png) + +Click Create Instance. + +![Create Instance](../../.gitbook/assets/doltlab-gcp-create-instance.png) + +Call it something cool. I called mine `doltlab-getting-started`. + +Now, you need to hit the DoltLab minimum hardware requirements; 4CPUs, 16GB of RAM, and 300GB of disk. For this, I select the E2 family of instance (because it's the default) and then in the "Machine Type" drop down I switch to "Standard" and select the "4CPU, 16GB RAM" option. + +![Machine Configuration](../../.gitbook/assets/doltlab-gcp-machine-configuration.png) + +Now, it's time to change the Operating System and the disk size under the Boot Disk section. + +![Default Boot Disk](../../.gitbook/assets/doltlab-gcp-default-boot-disk.png) + +It looks like GCP defaults to Debian with 10GB of disk. We need Ubuntu with 300GB of disk. + +![Proper Boot Disk](../../.gitbook/assets/doltlab-gcp-proper-boot-disk.png) + +Much better. Either Debian 22.04 or 24.04 will work with DoltLab. + +Finally, on this page, we'll enable HTTP traffic under the Firewall section. We'll need a few more ports open but we do that after the instance is created. + +![Proper Boot Disk](../../.gitbook/assets/doltlab-gcp-enable-http.png) + +Let's fire this baby up by clicking "CREATE". After a couple minutes I have a running instance. + +![Running Instance](../../.gitbook/assets/doltlab-gcp-running-instance.png) + +Make note of your public IP. You'll need this to install DoltLab on the host. Ours is 34.171.211.99. + +## Open the Required Ports + +We need to open a few more ports for DoltLab to operate correctly. Click "Set Up Firewall Rules" and the "Create new Firewall Rule". + +![New Firewall Rule](../../.gitbook/assets/doltlab-gcp-firewall-rule.png) + +In "Actions on Match", select "All instances in Network" and enter a Source IPv4 range as `0.0.0.0/0` or the entire range. We want the whole internet to see this wonderful DoltLab we're creating. + +![Actions on Match](../../.gitbook/assets/doltlab-gcp-actions-on-match.png) + +Scroll down to Protocols and Ports, enable TCP on port 100. + +![Protocols and Ports](../../.gitbook/assets/doltlab-gcp-protocols-and-ports.png) + +Click "CREATE". + +Rinse and repeat for ports 4321 and 50051. After your done, you're firewall rules should look like this. + +![Proper Firewall Rules](../../.gitbook/assets/doltlab-gcp-proper-firewall-rules.png) + +## SSH to the host + +GCP has a cool SSH in browser that I'll use. + +![SSH Button](../../.gitbook/assets/doltlab-gcp-ssh-button.png) + +This opens a new browser window for you to SSH with. Click authorize and you should be greeted with an in browser terminal window connected to your new instance. + +![SSH Window](../../.gitbook/assets/doltlab-gcp-ssh-window.png) + +Pretty slick Google. Pretty slick. + +Now that you have a DoltLab ready host, [continue the Getting Started guide](./getting-started.md#download-doltlab-and-its-dependencies) \ No newline at end of file diff --git a/packages/doltlab/content/introduction/getting-started.md b/packages/doltlab/content/introduction/getting-started/getting-started.md similarity index 77% rename from packages/doltlab/content/introduction/getting-started.md rename to packages/doltlab/content/introduction/getting-started/getting-started.md index ff6f7fc1f..f42ec21b0 100644 --- a/packages/doltlab/content/introduction/getting-started.md +++ b/packages/doltlab/content/introduction/getting-started/getting-started.md @@ -6,90 +6,13 @@ title: Getting Started This guide will walk through the simplest way to set up a basic DoltLab installation. Once complete, you'll have a DoltLab running on an internet-accessible EC2 instance that works for a single `admin` user. Some features like multiple users, HTTPS, and custom logo and colors are not enabled but links to documentation to enable those things are provided. -# Get a Ubuntu Host +# Get a Ubuntu Host and SSH in -The first thing you will need is an internet accessible Ubuntu host. We use AWS here but any cloud will do. +The first thing you will need is an internet accessible Ubuntu host. We have documentation on how to get a DoltLab ready Ubuntu host on: -To get your DoltLab ready host on AWS: - -1. Go to [AWS EC2 console](https://console.aws.amazon.com/ec2/) and click "Launch instance". - -2. Select a Ubuntu 22.04 amd64 t2.xlarge instance. - -![](../.gitbook/assets/getting-started/doltlab-aws-ec2-instance-type.png) - -3. Create a new RSA key pair for your instance in `.pem` format. - -![](../.gitbook/assets/getting-started/create-new-key-pair.png) - -This will create a `.pem` file and download it locally. - -3. Edit network settings and from the "Auto-assign public IP" drop-down menu choose "Enable". - -![](../.gitbook/assets/getting-started/doltlab-aws-ec2-pub-ip.png) - -4. Add security group rules for ports 22 (SSH), 80 (HTTP), 443 (HTTPS), 100 (CUSTOM), 4321 (CUSTOM), 50051 (CUSTOM) that allow ingress from anywhere. Specifics [here](https://docs.doltlab.com/introduction/installation#networking-requirements). You also may need to create a new VPC and Subnet here. Just use the defaults. - -![](../.gitbook/assets/getting-started/doltlab-aws-ec2-security-rules.png) - -5. Add 300GB gp3 disk. - -![](../.gitbook/assets/getting-started/doltlab-aws-ec2-storage.png) - -6. Click "Launch instance". - -![](../.gitbook/assets/getting-started/doltlab-aws-ec2-launch-summary.png) - -After this you should get a public IP for your new host. Mine was `54.191.163.60`. - -# SSH to your New Host - -Now I need to SSH to this host. I copy the `.pem` file I created when I launched the instance to my `.ssh` folder, give it appropriate permissions and then I can ssh to my new host. - -```sh -$ cp ~/Downloads/doltlab.pem ~/.ssh -$ chmod 600 .ssh/doltlab.pem -$ ssh -i ~/.ssh/doltlab.pem ubuntu@54.191.163.60 -Enter passphrase for key '/Users/timsehn/.ssh/y': -Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.5.0-1014-aws x86_64) - - * Documentation: https://help.ubuntu.com - * Management: https://landscape.canonical.com - * Support: https://ubuntu.com/pro - - System information as of Thu Apr 25 17:17:23 UTC 2024 - - System load: 0.0185546875 Processes: 124 - Usage of /: 0.5% of 339.02GB Users logged in: 0 - Memory usage: 1% IPv4 address for eth0: 10.2.0.124 - Swap usage: 0% - -Expanded Security Maintenance for Applications is not enabled. - -0 updates can be applied immediately. - -Enable ESM Apps to receive additional future security updates. -See https://ubuntu.com/esm or run: sudo pro status - - -The list of available updates is more than a week old. -To check for new updates run: sudo apt update - - -The programs included with the Ubuntu system are free software; -the exact distribution terms for each program are described in the -individual files in /usr/share/doc/*/copyright. - -Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by -applicable law. - -To run a command as administrator (user "root"), use "sudo ". -See "man sudo_root" for details. - -ubuntu@ip-10-2-0-124:~$ -``` - -I'm in! +1. [AWS](./aws.md) +2. [Azure](./azure.md) +3. [GCP](./gcp.md) # Download DoltLab and its Dependencies @@ -262,7 +185,7 @@ cc278092afcb55de755e9b05725b86bb122eddd128264ee17134418dc154f455 Now the moment of truth, I hit the IP over `http`, not `https`, http://54.191.163.60/. Bam! -![](../.gitbook/assets/getting-started/fresh-doltlab.png) +![](../../.gitbook/assets/getting-started/fresh-doltlab.png) # Login as Admin @@ -270,7 +193,7 @@ Now, your DoltLab is running but it's not very useful. Only logged in users can The DoltLab instance ships with a default user configured called `admin`. It has a password `DoltLab1234`. If you click the Sign In button in the top corner and log in as `admin`, you get a more useful set of features. -![](../.gitbook/assets/getting-started/admin-logged-in-fresh-doltlab.png) +![](../../.gitbook/assets/getting-started/admin-logged-in-fresh-doltlab.png) # Basic Configuration @@ -278,7 +201,7 @@ The DoltLab instance ships with a default user configured called `admin`. It has A configured email server is required to create new users. If you try to create a user, you'll get an error that looks like this: -![](../.gitbook/assets/getting-started/doltlab-create-user-error.png) +![](../../.gitbook/assets/getting-started/doltlab-create-user-error.png) So, you only have a single admin user to play with for now. @@ -288,7 +211,7 @@ You can build whatever database you can imagine using the web user interface. Th Here's a simple test database I created using SQL. -![](../.gitbook/assets/getting-started/doltlab-admin-db.png) +![](../../.gitbook/assets/getting-started/doltlab-admin-db.png) ## Clone Databases @@ -326,7 +249,7 @@ $ dolt creds ls * ioohq4v4itlhgse9sv10acrknngmr6hukvm93n7k1qvo856oudug ``` -![](../.gitbook/assets/getting-started/doltlab-add-credentials.png) +![](../../.gitbook/assets/getting-started/doltlab-add-credentials.png) Now you should be able to make a change and push to your DoltLab. @@ -348,7 +271,7 @@ To http://54.191.163.60:50051/admin/test And I can now see my change on DoltLab! -![](../.gitbook/assets/getting-started/doltlab-push.png) +![](../../.gitbook/assets/getting-started/doltlab-push.png) You're now ready to try out all the Dolt and DoltLab experiences like Pull Requests, Issues, the SQL Workbench, and Diffs. Get testing and see if DoltLab is right for you and your team. @@ -356,15 +279,15 @@ You're now ready to try out all the Dolt and DoltLab experiences like Pull Reque ## Create new users -As discussed in [the single user section](#single-user), creating users requires a working SMTP server to send emails. Configuring an email server for DoltLab is beyond the scope of this Getting Started guide. You have a bunch of options, the simplest being using any Gmail address' SMTP server. Consult [this guide to set up an email server for DoltLab](../guides/basic.md#set-up-a-smtp-server-using-any-gmail-address). +As discussed in [the single user section](#single-user), creating users requires a working SMTP server to send emails. Configuring an email server for DoltLab is beyond the scope of this Getting Started guide. You have a bunch of options, the simplest being using any Gmail address' SMTP server. Consult [this guide to set up an email server for DoltLab](../../guides/basic.md#set-up-a-smtp-server-using-any-gmail-address). ## Receive Email Notifications -DoltLab sends emails for password resets, pull request and issue status, and a few other use cases. Obviously, these also won't work without a running email server. Consult [this guide to set up an email server for DoltLab](../guides/basic.md#set-up-a-smtp-server-using-any-gmail-address). +DoltLab sends emails for password resets, pull request and issue status, and a few other use cases. Obviously, these also won't work without a running email server. Consult [this guide to set up an email server for DoltLab](../../guides/basic.md#set-up-a-smtp-server-using-any-gmail-address). ## HTTPS -Your DoltLab is currently set up to only use HTTP which is fairly insecure. If it's running on your internal network and you have other threat mitigations, this may be OK. But having it sit on the public internet on AWS without HTTPS is probably not what you want. [Learn how to set up HTTPS on your DoltLab here](../guides/basic.md#doltlab-https-natively). +Your DoltLab is currently set up to only use HTTP which is fairly insecure. If it's running on your internal network and you have other threat mitigations, this may be OK. But having it sit on the public internet on AWS without HTTPS is probably not what you want. [Learn how to set up HTTPS on your DoltLab here](../../guides/basic.md#doltlab-https-natively). ## Custom URL @@ -372,8 +295,8 @@ Right now, you're stuck hitting the IP address of your host. In order to use a c ## Custom Logo/Colors -Yay! Our first DoltLab Enterprise feature. If you would like a custom logo and color scheme for your DoltLab instance, you are going to need [DoltLab Enterprise](../guides/enterprise.md). DoltLab Enterprise is $5,000/month for unlimited users. It comes with Enterprise Support for Dolt as well. Among [other features](../guides/enterprise.md), DoltLab Enterprise allows you to customize the look and feel of your DoltLab instance. Learn how to [configure your DoltLab as Enterprise](../guides/enterprise.md) and [set up your custom look and feel here](../guides/enterprise.md#use-custom-logo). +Yay! Our first DoltLab Enterprise feature. If you would like a custom logo and color scheme for your DoltLab instance, you are going to need [DoltLab Enterprise](../../guides/enterprise.md). DoltLab Enterprise is $5,000/month for unlimited users. It comes with Enterprise Support for Dolt as well. Among [other features](../../guides/enterprise.md), DoltLab Enterprise allows you to customize the look and feel of your DoltLab instance. Learn how to [configure your DoltLab as Enterprise](../../guides/enterprise.md) and [set up your custom look and feel here](../../guides/enterprise.md#use-custom-logo). ## Scalability -Lastly, your DoltLab is running on a single host. All the components will scale to the size of that host including storing all the databases that are created. Storage and compute requirements can get big quickly. In order to break your DoltLab up into multiple instances and use cloud storage to store your databases, you need [DoltLab Enterprise](../guides/enterprise.md). Learn [how to set up Enterprise here](../guides/enterprise.md). +Lastly, your DoltLab is running on a single host. All the components will scale to the size of that host including storing all the databases that are created. Storage and compute requirements can get big quickly. In order to break your DoltLab up into multiple instances and use cloud storage to store your databases, you need [DoltLab Enterprise](../../guides/enterprise.md). Learn [how to set up Enterprise here](../../guides/enterprise.md).