Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: docs update 4 #16

Merged
merged 7 commits into from
Jan 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions docs/cli/auto-updater/disable.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---

Check warning on line 1 in docs/cli/auto-updater/disable.md

View workflow job for this annotation

GitHub Actions / Language check

[LanguageTool] reported by reviewdog 🐶 This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING Raw Output: docs/cli/auto-updater/disable.md:1:4: This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING
id: disable
title: swiftwave auto-updater disable
tags:
- CLI
- Auto Updater
sidebar_position: 2
---

Disable Swiftwave Auto Updater Service.


### Usage

```
swiftwave auto-updater disable
```
25 changes: 25 additions & 0 deletions docs/cli/auto-updater/enable.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---

Check warning on line 1 in docs/cli/auto-updater/enable.md

View workflow job for this annotation

GitHub Actions / Language check

[LanguageTool] reported by reviewdog 🐶 This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING Raw Output: docs/cli/auto-updater/enable.md:1:4: This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING
id: enable
title: swiftwave auto-updater enable
tags:
- CLI
- Auto Updater
sidebar_position: 1
---

Enable Swiftwave Auto Updater Service.
> Note: It will check for updates every 5 minutes to apply minor version updates and hotfixes to keep SwiftWave up to date and secure.

### Pre-requisites
You should keep automated database migration enabled to avoid any issues and use SwiftWave Auto Updater.

If you have disabled automated database migration, you can enable it by
- Run `swiftwave config -e vim` or `swiftwave config -e nano` to open SwiftWave configuration file in editor. [See more](/docs/cli/config)
- Set `service.auto_migrate_database` to `false`
- Save and close the file

### Usage

```
swiftwave auto-updater enable
```
14 changes: 14 additions & 0 deletions docs/cli/auto-updater/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---

Check warning on line 1 in docs/cli/auto-updater/index.md

View workflow job for this annotation

GitHub Actions / Language check

[LanguageTool] reported by reviewdog 🐶 This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING Raw Output: docs/cli/auto-updater/index.md:1:4: This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING
id: auto-updater
title: swiftwave auto-updater
tags:
- CLI
- Auto Updater
sidebar_position: 14
---

Auto updater is a feature that will automatically update Swiftwave to the latest minor version and apply hotfixes.

### Check available commands
- [**swiftwave auto-updater enable**](/docs/cli/auto-updater/enable)
- [**swiftwave auto-updater disable**](/docs/cli/auto-updater/disable)
4 changes: 2 additions & 2 deletions docs/cli/index.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
id: cli
title: CLI Reference
title: 💻 CLI Reference
tags:
- CLI
sidebar_position: 4
sidebar_position: 6
---

SwiftWave CLI acts like a management panel for SwiftWave.
Expand Down
2 changes: 1 addition & 1 deletion docs/cli/info.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ id: info
title: swiftwave info
tags:
- CLI
sidebar_position: 13
sidebar_position: 15
---

Print info of current Swiftwave installation
Expand Down
16 changes: 16 additions & 0 deletions docs/cli/service/restart.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---

Check warning on line 1 in docs/cli/service/restart.md

View workflow job for this annotation

GitHub Actions / Language check

[LanguageTool] reported by reviewdog 🐶 This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING Raw Output: docs/cli/service/restart.md:1:4: This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING
id: restart
title: swiftwave service restart
tags:
- CLI
- Swiftwave Service
sidebar_position: 4
---

Restart swiftwave service

### Usage

```
swiftwave service restart
```
17 changes: 17 additions & 0 deletions docs/cli/update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---

Check warning on line 1 in docs/cli/update.md

View workflow job for this annotation

GitHub Actions / Language check

[LanguageTool] reported by reviewdog 🐶 This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING Raw Output: docs/cli/update.md:1:4: This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING
id: update
title: swiftwave update
tags:
- CLI
sidebar_position: 13
---

Update Swiftwave to the latest minor version and hotfixes.

> Note: Major version's will not be backwards compatible and will require a manual update. But you can expect major version after very long time.

### Usage

```
swiftwave update
```
15 changes: 15 additions & 0 deletions docs/cli/version.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---

Check warning on line 1 in docs/cli/version.md

View workflow job for this annotation

GitHub Actions / Language check

[LanguageTool] reported by reviewdog 🐶 This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING Raw Output: docs/cli/version.md:1:4: This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING
id: version
title: swiftwave version
tags:
- CLI
sidebar_position: 16
---

Print version of current Swiftwave installation

### Usage

```
swiftwave version
```
5 changes: 5 additions & 0 deletions docs/dashboard/applications.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---

Check warning on line 1 in docs/dashboard/applications.md

View workflow job for this annotation

GitHub Actions / Language check

[LanguageTool] reported by reviewdog 🐶 This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING Raw Output: docs/dashboard/applications.md:1:4: This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING
id: applications
title: 📦 Applications
sidebar_position: 3
---
5 changes: 5 additions & 0 deletions docs/dashboard/change-password.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---

Check warning on line 1 in docs/dashboard/change-password.md

View workflow job for this annotation

GitHub Actions / Language check

[LanguageTool] reported by reviewdog 🐶 This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING Raw Output: docs/dashboard/change-password.md:1:4: This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING
id: change-password
title: 🔒 Change Password
sidebar_position: 11
---
42 changes: 42 additions & 0 deletions docs/dashboard/deploy-new-application.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---

Check warning on line 1 in docs/dashboard/deploy-new-application.md

View workflow job for this annotation

GitHub Actions / Language check

[LanguageTool] reported by reviewdog 🐶 This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING Raw Output: docs/dashboard/deploy-new-application.md:1:4: This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING
id: deploy-new-application
title: 🔨 Deploy New Application
sidebar_position: 1
---

# 🔨 Deploy New Application

### 📝 Pre-requisites
Deploying with SwiftWave is a breeze – just bring your application's source code, and SwiftWave handles everything else.

**SwiftWave** effortlessly accommodates various application sources:
- 📦 Git Repository
- 🐳 Docker Image
- If your code isn't on a Git or Image Repository, worry not! Simply choose your code folder and upload it. 📂

### 🚀 Deploy Application
1. Click on the `Deploy New Application` button on the *Sidebar* of the **Dashboard**.
2. Choose your application source (Git Repository, Docker Image, or Upload Code Folder) option.
3. Fill in the required details.
4. Click on `Generate Configuration` button.
5. You can choose to edit generated Dockerfile by clicking on `View/Modify Dockerfile` button.
6. Edit Build Arguments, if required.
7. Click on `Confirm & Proceed to Next Step` button.
8. At top, you can configure no of application instances you require. (You can also configure this later.)
9. Configure your application's environment variables. (You can also configure this later.)
10. You can also configure persistent storage for your application. (You can also configure this later.)
11. Click on `Confirm & Proceed to Next` button.
12. Click on `Click to Deploy` button.
13. Your application will be deployed in a few minutes. 🚀
14. You can check the build logs and status in the same page.

### 🎬 Check Tutorial Video
> 📌 If you have understood the above steps, you can skip this video.



### 📚 Next Steps
- [**How to expose application to internet ?**](/docs)
- [**How to configure persistent storage ?**](/docs)
- [**How to configure environment variables ?**](/docs)
- [**Guide on how to view information about a deployed application.**](/docs)
5 changes: 5 additions & 0 deletions docs/dashboard/domains.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---

Check warning on line 1 in docs/dashboard/domains.md

View workflow job for this annotation

GitHub Actions / Language check

[LanguageTool] reported by reviewdog 🐶 This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING Raw Output: docs/dashboard/domains.md:1:4: This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2]) Suggestions: `ID` Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2 Category: CASING
id: domains
title: 🌐 Domains
sidebar_position: 7
---
5 changes: 5 additions & 0 deletions docs/dashboard/git-credentials.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
id: git-credentials
title: 🐙 Git Credentials
sidebar_position: 5
---
5 changes: 5 additions & 0 deletions docs/dashboard/image-credentials.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
id: image-credentials
title: 🐳 Image Credentials
sidebar_position: 6
---
36 changes: 36 additions & 0 deletions docs/dashboard/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
id: swiftwave_dashboard
title: 🖥️ SwiftWave Dashboard
hide_table_of_contents: true
sidebar_position: 5
---

# 🖥️ SwiftWave Dashboard
<div style={{
display: 'flex',
justifyContent: 'center',
marginBottom: '2rem'
}}>
<img src="/assets/dashboard-loading.png" alt="SwiftWave Dashboard" width="70%"/>
</div>


SwiftWave Dashboard is a web-based interface to manage your applications, domains and all. It's the main management interface for SwiftWave.

> 📌 Note: SwiftWave Dashboard comes pre-bundled with SwiftWave. You don't need to install it separately.


## Sections of Dashboard
| Section | Description | Link |
| --- | --- | --- |
| 🔨 Deploy New Application | Deploy new application on your server | [***Click Here***](/docs/dashboard/deploy-new-application) |
| 📦 Applications | List of all applications deployed on your server & manage them | [***Click Here***](/docs/dashboard/applications) |
| 📦 Persistent Volumes | List of all persistent volumes created on your server & manage them | [***Click Here***](/docs/dashboard/persistent-volumes) |
| 🐙 Git Credentials | Manage git credentials for your applications | [***Click Here***](/docs/dashboard/git-credentials) |
| 🐳 Image Credentials | Manage docker image credentials for your applications | [***Click Here***](/docs/dashboard/image-credentials) |
| 🌐 Domains | Manage custom domains, SSL for your applications | [***Click Here***](/docs/dashboard/domains) |
| 🚪 Ingress Rules | Manage exposed domains and routes for your applications | [***Click Here***](/docs/dashboard/ingress-rules) |
| 🔄 Redirect Rules | Manage domain redirection and HTTPS redirection for your applications | [***Click Here***](/docs/dashboard/redirect-rules) |
| 👥 Manage Users | Manage admin users for your hosted SwiftWave instance | [***Click Here***](/docs/dashboard/manage-users) |
| 🔒 Change Password | Change password for currently logged In user | [***Click Here***](/docs/dashboard/change-password) |

5 changes: 5 additions & 0 deletions docs/dashboard/ingress-rules.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
id: ingress-rules
title: 🚪 Ingress Rules
sidebar_position: 8
---
5 changes: 5 additions & 0 deletions docs/dashboard/manage-users.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
id: manage-users
title: 👥 Manage Users
sidebar_position: 10
---
5 changes: 5 additions & 0 deletions docs/dashboard/persistent-volumes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
id: persistent-volumes
title: 📦 Persistent Volumes
sidebar_position: 4
---
5 changes: 5 additions & 0 deletions docs/dashboard/redirect-rules.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
id: redirect-rules
title: 🔄 Redirect Rules
sidebar_position: 9
---
96 changes: 96 additions & 0 deletions docs/getting_started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
id: getting_started
title: 🚀 Getting Started
sidebar_position: 4
---

# 🚀 Getting Started

Let's get started with SwiftWave!
Let's first install SwiftWave on your server. Because without SwiftWave, you can't deploy your applications. 😅

## 📦 Pre-requisites
1. A Virtual Server with Debian, Ubuntu, Fedora OS or their derivatives installed.
2. Virtual Server should have at least 1GB RAM and 1vCPU.
3. Install curl, git, unzip and tar utilities.
```bash
# For Debian/Ubuntu based distros:
sudo apt install curl git unzip tar

# For Fedora based distros:
sudo dnf install curl git unzip tar
```
4. Install docker (Skip this step if you already have docker installed)
```bash
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
```
> 📌 Note: As RHEL doesn't support docker, SwiftWave doesn't support RHEL based distros.
5. You are all set! 🎉

## 📥 Installation
1. SSH into your server.

2. Download SwiftWave binary
```bash
curl -L https://github.com/swiftwave-org/swiftwave/releases/download/1.0.0/swiftwave-1.0.0-linux-amd64.tar.gz -o swiftwave.tar.gz
```
3. Extract the gzip archive
```bash
tar -xzf swiftwave.tar.gz
```
4. Make swiftwave binary executable
```bash
chmod +x swiftwave
```
5. Move swiftwave binary to /usr/bin
```bash
sudo mv swiftwave /usr/bin/swiftwave
```
6. 🕒 Time for setup!
7. Initialize Docker Swarm
```bash
docker swarm init
```
8. Initialize SwiftWave configuration. Run following command and provide required information.
```bash
sudo swiftwave init
```
9. Prepare Environment for SwiftWave
```bash
sudo swiftwave setup
```
10. Run Local Postgres Database
```bash
sudo swiftwave postgres start
```
11. Migrate Database Tables
```bash
sudo swiftwave db-migrate
```
12. Generate SSL certificate for primary domain
```bash
sudo swiftwave generate-tls
```
13. Start HaProxy Service
```bash
sudo swiftwave haproxy start
```
14. Start SwiftWave Service
```bash
sudo swiftwave service enable
```
15. Enable auto updater for SwiftWave
```bash
sudo swiftwave auto-updater enable
```
16. Create a new admin user
```bash
sudo swiftwave create-user --username <give_a_username> --password <give_a_strong_password>
```
17. 🎉 Congratulations! SwiftWave is now installed on your server.
18. You can now access SwiftWave at `https://<your_domain>:3333`
> Note: You have forget the auto-generated domain 😅 anyhow ? This is how you can get it back.
> - Suppose your server IP is `3.5.12.13`, then your domain will be `ip-3-5-12-13.swiftwave.xyz`
> - You have added a custom domain `example.com`, then you can use that domain to access SwiftWave on port 3333.

4 changes: 2 additions & 2 deletions docs/manifesto.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
id: manifesto
title: 🚀 SwiftWave Manifesto
title: 🌱 SwiftWave Manifesto
sidebar_position: 3
---

# 🚀 SwiftWave Manifesto
# 🌱 SwiftWave Manifesto

SwiftWave, our self-hosted PaaS marvel, is here to make deploying and managing your applications on any VPS a breeze! 🌐

Expand Down
Loading
Loading