Installation docs WIP

This commit is contained in:
Ben Haynes
2020-09-25 17:57:25 -04:00
parent 5b2403a5c4
commit 57a25daf14
9 changed files with 188 additions and 32 deletions

View File

@@ -1,15 +1,28 @@
# Installation
Directus can be installed in many different ways, on several different stacks. Below is the recommended method, followed by links to other options.
Directus can be installed in many different ways, on several different stacks. CLI is the recommended method, but there are many ways to get started with our platform depending on your needs.
## CLI
* [Command Line Interface (CLI)](/guides/installation/cli.md)
* [Docker](/guides/installation/docker.md)
* [Manually](/guides/installation/manual.md)
## Docker
## DigitalOcean One-Click
## Manually
:::tip Contributors
Developers looking to work on the project source code should follow our [Dev Install Guide](#).
:::tip Development Environment
Developers looking to work on the project's source code should follow our [Contributing Guide](#).
:::
---
## Deployment Guides
* Amazon AWS
* DigitalOcean Droplet
* [DigitalOcean One-Click](/guides/installation/digitalocean-one-click.md)
* Google App Engine
* [Heroku](/guides/installation/heroku.md)
* Microsoft Azure
## Optional Setup Guides
* Caddy
* Nginx
* HAProxy

View File

@@ -78,4 +78,4 @@ In addition to managing multilingual content, the Directus Admin App itself can
### Marketplace
Coming in 2021. A library of free and paid Directus extensions created by our core team and community members.
Coming soon. A library of free and paid Directus extensions created by our core team and community members.

View File

@@ -3,25 +3,49 @@
> Directus is both _premium_ and _free_ — two things that don't often go together. It takes significant resources to maintain and advance the platform. If you'd like to help keep Directus active and open-source please consider supporting it through one of the methods below.
## Financial Support
Talented full-time and part-time staff, infrastructure, and third-party services are just some of our organization's expenses, and revenue from our Cloud services and donations from sponsors dosen't fully cover those costs. Below are a few ways to help us keep the lights on and move towards self-sufficiency.
* **GitHub Sponsors** — Monthly donations via [GitHub Sponsors](#) are the most reliable form of financial support, and donations made directly to our core developers are currently **doubled** by GitHub's matching program!
* [rijkvanzanten](https://github.com/rijkvanzanten) — Technical Lead
* [WoLfulus](https://github.com/WoLfulus) —
* [Nitwel](https://github.com/Nitwel) —
* **Merch** — Our merchandise is a great way to support Directus you get a shirt and we get some financial support and advertising. Simply make an appropriate financial donation through GitHub Sponsors, message us with sizing/shipping details, and we'll get it shipped!
* **Commissioned Features** — If you need to an interface, layout, or other custom feature just reach out to our parent company to design and build it for you. If it can be merged into our Core codebase then it even benefits the entire community!
* **Expedited Fixes** — We triage all reported bugs based on priority and how long the fix is estimated to take. If you need a specific issue resolved sooner, reach out to us for a quote.
* **Premium Support** — See [Premium Support](#)
### GitHub Sponsors
Monthly donations via [GitHub Sponsors](#) are the most reliable form of financial support, and donations made directly to our core developers are currently **doubled** by GitHub's matching program!
* [rijkvanzanten](https://github.com/rijkvanzanten) — Technical Lead
* [WoLfulus](https://github.com/WoLfulus) — DevOps
* [Nitwel](https://github.com/Nitwel) — Developer
### Merch
Our merchandise is a great way to support Directus — you get some swag, and we get some financial support and advertising. Simply make an appropriate financial donation through [GitHub Sponsors](#), message us with sizing/shipping details, and we'll get it shipped!
### Commissioned Features
If you need a specific feature added to Directus faster than the normal development timeline, [reach out to us](#) for a quote. Our parent agency will often help subsidize the cost of developing new features if they pass our [80/20 Rule](#) and can be merged into the core codebase. Other custom/proprietary development will be built bespoke within our robust extension system.
### Expedited Fixes
We triage all reported bugs based on priority and how long the fix is estimated to take. If you need a specific issue resolved sooner, [reach out to us](#) for a quote.
## Other Contributions
Even without financial or even technical knowledge, it's still super easy to help out. Below are several ways anyone can help improve our ecosystem.
* **Code Pull Requests** — Squashing bugs, optimizing the codebase, increasing test coverage, and adding new features, are all extremely valuable. Learn more in our [Contributors Guide](#).
* **Docs** — Not technical? We have plenty of documentation that can always use some extra attention. Fixing spelling errors, writing new articles, or checking for broken links... it all helps.
* **Translations** — Every translation enables users in new locales to use our international platform. Our Crowdin integration makes polishing existing translations or creating new ones a breeze.
* **Bug Reporting** — If you encounter an issue within Directus, no matter how small, we would love to hear about it. Proper bug reporing helps our team assess the platform's stability.
* **Brand Advocacy** — You can create _perfect_ software, but if no one knows about it, it's all for naught. Marketing and advertising are expensive, but you can help us avoid these costs through the following:
* **GitHub Stars** — The primary metric by which we measure our success. It only takes five seconds to head to [directus/directus](#) and click the star — enough in a short period of time and Directus gets featured on GitHub's trending page.
* **Social Posts** — A quick post mentioning [@directus](https://twitter.com/directus) goes a long way, and we re-tweet some of our favorite shout-outs to our 30K+ followers.
* **Testimonials** — _One sentence._ Even that was a sentence, and it was only two words! If you're a fan of Directus, we'd love to hear why with a short endorsement. Shoot us an email, Tweet, or Discord message your name, title, and company
Below are several ways anyone can help improve our ecosystem.
### Code Pull Requests
Squashing bugs, optimizing the codebase, increasing test coverage, and adding new features, are all extremely valuable. Not technical? We have plenty of documentation that can always use some extra attention. Learn more in our [Contributors Guide](#).
### Translations
Every translation enables users in new locales to use our international platform. Our [Crowdin integration](#) makes polishing existing translations or creating new ones a breeze.
### Bug Reporting
If you encounter an issue within Directus, no matter how small, we would love to hear about it. Proper bug reporing helps our team assess the platform's stability. [Report a bug](#)
### Brand Advocacy
You can create _perfect_ software, but if no one knows about it, it's all for naught. Marketing and advertising are expensive, but you can help us avoid these costs with the following quick options:
* **GitHub Stars** — The primary metric by which we measure our success. It only takes five seconds to head to [directus/directus](#) and click the star — enough in a short period of time and Directus gets featured on GitHub's trending page!
* **Social Posts** — A quick post mentioning [@directus](https://twitter.com/directus) goes a long way, and we re-tweet the team's favorite shout-outs to our 30K+ followers.
* **Testimonials** — _One sentence._ Even that was a sentence, and it was only two words! If you're a fan of Directus, we'd love to hear why with a short endorsement. Shoot us an [email](#), [Tweet](#), or [Discord](#) message with your name, title, and company.

View File

@@ -4,15 +4,30 @@
## Community Support
[Github Discussions](#) is great first place to reach out for help. Our community and Core developers often check this platform and answer posts.
[Github Discussions](#) is great first place to reach out for help. Our community and core developers often check this platform and answer posts. It has the added benefit of being an archival resource for others developers with similar questions.
Our [Discord](https://discord.gg/directus) community is another great way to get assisstance. Please keep all questions on the `#help` channel, be considerate, and remember that you are getting free help for a free product.
## Premium Support
Premium support is included with our Enterprise Cloud service. On-Demand Cloud customers and On-Premise users can interested in learning more about our monthly retainer agreements should contact us at [support@directus.io](mailto:support@directus.io).
Premium support is included with our Enterprise Cloud service. On-Demand Cloud customers and On-Premise users interested in learning more about our monthly retainer agreements should contact us at [support@directus.io](mailto:support@directus.io).
## Frequently Asked Questions
### Question...
Answer...
### Does Directus handle deploying or migrating projects?
Directus includes [export](#) and [backup](#) tools to assist in deploying data changes between environments (eg: from _development_ to _production_), however there is no formal migration workflow.
Additionally, since Directus stores all of your data in pure SQL, you can use almost any preexisting workflow or toolkit for this process.
### Does Directus support Mongo/NoSQL?
Not currently. Directus has been built specifically for wrapping _relational_ databases. While we could force Mongo to use tables, columns, and rows via Mongoose object modeling, that approach to non-structured doesn't make a lot of sense. We realize many users are interested in this feature, and will continue to explore its possibility.
### Why haven't you added X feature, or fixed Y issue yet?
Directus is primarily a free and open-source project, maintained by a small core team and community contributors who donate their time and resources.
Our platform is feature-rich, however we strictly adhere to our [80/20 Rule](#) to avoid a messy/bloated codebase. Directus is also quite stable, however new issues still arise, some of which may be triaged with a lower prioritization.
If you require more expeditious updates, you can contact us regarding [sponsoring expedited fixes](#) or [commissioning new features](#). You can also [submit a pull request](#) — after all, it is open-source!

View File

@@ -0,0 +1,42 @@
# Installing from CLI
## 1. Confirm Minimum Requirements are Met
**The only requirements for Directus is an actively maintained version of [Node.js](https://nodejs.org/en/about/releases/).** Currently that is v10+, however in April 2021, node v10 will leave _Maintenance Long-Term Support (LTS)_ status, and node v12+ will become the new minimum requirement.
### Databases
Directus currently supports the following databases, with our minimum version being based on each vendor's official support/LTS.
| Database | Version |
| ------------- | ------- |
| PostgreSQL | 9.5+ |
| MySQL | 5.6 |
| SQLite | 3 |
| MS-SQL Server | 13.0+ |
| OracleDB | TBD |
| MariaDB | 10.1 |
:::tip Variants
In addition to the databases above, other variants are also supported, including **AWS Aurora** (MySQL), and **AWS Redshift** (PostgreSQL).
:::
## 2. Create a Project
Create a new Directus project by running the following npm command.
```bash
npx create-directus-project my-project
```
:::warning
Except for SQLite, the database must already be running before creating your Directus project.
:::
## 3. Start your Project
To start Directus, simply run the following command in your project directory.
```bash
npx directus start
```

View File

@@ -0,0 +1,17 @@
# Installing with DigitalOcean's One-Click
## 1. Create a DigitalOcean Account
If you don't already have an account you'll need to create one, you can use [our referral link](https://m.do.co/c/389c62a20bb5) to get $100 of free credit!
## 2. Create a Project
Navigate to the [Directus One-Click App](https://marketplace.digitalocean.com/apps/directus) within the DigitalOcean Marketplace and follow these steps:
* Click "Create Directus Droplet"
* Configure your VPS (any plan/size)
* Choose a hostname (anything you want)
* Click "Create Droplet"
## 3. TK

View File

@@ -0,0 +1,11 @@
# Installing with Docker
## 1. TK
## 2. TK
## 3. TK
```bash
docker-compose up -d
```

View File

@@ -0,0 +1,3 @@
# Installing with Heroku
## 1. TK

View File

@@ -0,0 +1,31 @@
# Installing Manually
## 1. Setup a Project
Add a `package.json` by running the following command.
```bash
npm init
```
## 2. Install Directus
```bash
npm install directus
```
## 3. Install Database Driver
Choose the [database vendor](#) you will be working with, and install its driver.
```bash
npm install pg
```
## 4. Install Optional Dependencies
At this point you have the option of installing other dependencies, such as Redis.
## 5. Setup a Configuration File
Finally, you'll need to setup your `.env` file, or configure the environment variables through other means, such as Docker, etc.