--- id: installation title: ⚒️ Installation sidebar_position: 3 --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; Let's get started with SwiftWave! It will not take more than 10 minutes to install SwiftWave on your server. ## 📦 Pre-requisites 1. A Linux System with at-least 1GB RAM and 1vCPU. 2. Install some utilities like curl, git, unzip and tar. ```bash sudo apt update -y sudo apt install curl git unzip tar -y ``` ```bash sudo dnf install curl git unzip tar ``` 3. Install docker (Skip this step if you already have docker installed) ```bash curl -fsSL https://get.docker.com | sudo bash - ``` ```bash curl -fsSL https://get.docker.com | sudo bash - sudo systemctl enable docker.service sudo systemctl enable containerd.service sudo systemctl start docker.service sudo systemctl start containerd.service ``` 4. You are all set! 🎉 ## 📥 Installation 1. SSH into your server. 2. Run below commands to install SwiftWave. Add Swiftwave Repository ```bash sudo mkdir -p /etc/apt/keyrings sudo mkdir /root/.gnupg sudo gpg --no-default-keyring --keyring /etc/apt/keyrings/swiftwave.gpg --keyserver keyserver.ubuntu.com --recv-keys DD510C86CD3F6764 echo "deb [signed-by=/etc/apt/keyrings/swiftwave.gpg] http://deb.repo.swiftwave.org/ swiftwave stable" | sudo tee /etc/apt/sources.list.d/swiftwave.list ``` Install SwiftWave ```bash sudo apt update -y sudo apt install swiftwave -y ``` Add Swiftwave Repository ```bash sudo dnf config-manager --add-repo http://rpm.repo.swiftwave.org/swiftwave.repo ``` Install SwiftWave ```bash sudo dnf install swiftwave -y ``` 3. Initialize SwiftWave configuration. ```bash sudo swiftwave init ``` :::info During this step, it will ask a domain name for management node. - If your server has a public IP, you can just use the default domain suggested by SwiftWave at that step. If you have any custom domain, you can point that domain to your server IP and use that domain name also. - If you are just trying out in local system and doesn't have any public IP, just use `localhost` as domain name. ::: :::tip If you like to change the configuration or use a remotely hosted postgres database, you can run the following command and change the yaml configuration file manually. ```bash sudo swiftwave config -e vim ``` ::: 4. Start Swiftwave for Setup ```bash sudo swiftwave start ``` 5. Open the printed URL in your browser. - Provide a new username and password for the first admin user. - Provide a valid email address. *Don't use any fake or temporary email address.* - Provide other infos (if required to change) - Submit it ! - Come back to terminal. 6. Start Swiftwave Service ```bash sudo swiftwave service enable ``` After this step, you can access Swiftwave dashboard at the same URL you opened in the previous step. 7. Generate SSL certificate for swiftwave dashboard :::info If you have used `localhost` as domain name for management node, skip this step. ::: ```bash sudo swiftwave tls generate ``` Now, use `https` for dashboard URL. 8. (optional) Enable Auto Updater for SwiftWave ```bash sudo swiftwave auto-update enable ``` 9. 🎉 Congratulations! SwiftWave is now installed on your server. 10. Let's move to the next section to onboard your server to SwiftWave. ## 🖥️ Onboard Server 1. Log-in to SwiftWave Dashboard 2. Navigate to `Server Management` page and click on `Add Server` button. 3. In `Server IP` put the public / private IP of your server. If your server has no public IP, put `127.0.0.1` as IP. 4. Click on `Setup Server` button. 5. Follow the generated instructions on the dashboard. :::info You may be presented with the option to specify the advertiser IP address for the Docker swarm in the very last step. This occurs when a server is assigned multiple IP addresses. In such a circumstance, you should select the public IP address or private IP address generated by the cloud provider for your server. ::: 6. Wait 1 minute and refresh the list. 7. After setup is complete, click on `View Actions` and click on `Enable Ingress Proxy`, keep the default values and submit. It will take upto 5 minutes. :::info To verify that the ingress proxy is configured properly, open your web browser and navigate to the IP address of your server. The error code '502 Bad Gateway' should be displayed. ::: 8. 🎉 Congratulations! Your server is now onboarded to SwiftWave. 9. Now, you can start using 🚀 SwiftWave. ## 📊 Setup Resource Monitoring SwiftWave comes with a built-in monitoring system that allows you to track the resource usage of servers and applications. To enable monitoring, follow these steps: 1. Log-in to SwiftWave Dashboard 2. Navigate to `Server Management` page. 3. Click on `View Actions` and click on `Setup Resource Monitoring`. 4. Follow the generated instructions to complete the setup.