How to host Invoice Ninja on Hetzner VM Instance - ServerAvatar

Published : Sep 14, 2024

Share This Post

cloud-platform

Hetzner

Hetzner provides a range of services like dedicated hosting, virtual private servers, colocation services, and domain registration. Hetzner is known for having reliable systems and competitive prices in web hosting.

Get started with Hetzner
application

Invoice Ninja

Invoice Ninja is an open-source application that simplifies invoicing and billing for entrepreneurs, freelancers, and small-to-medium businesses. With its intuitive interface and robust functionality, Invoice Ninja enables users to create and manage professional invoices effortlessly.

More info

Invoice Ninja is a robust open-source platform designed to simplify invoicing and financial management processes for businesses. It provides essential tools for generating invoices, managing finances, and tracking expenses, ensuring ease of use for both administrators and clients. Hetzner serves as a reliable hosting choice for Invoice Ninja, offering scalable infrastructure and straightforward deployment options. ServerAvatar facilitates a user-friendly experience for deploying the Invoice Ninja application on the Hetzner platform.

Create a Server in Hetzner

Getting Started with Hetzner:

Hetzner provides a range of services like dedicated hosting, virtual private servers, colocation services, and domain registration. Hetzner is known for having reliable systems and competitive prices in web hosting. Its services work well for both individual users and businesses that need strong hosting options.

Step 1: Login to Hetzner Cloud Console

  • Go to the Hetzner Cloud website and sign in using your credentials.

Step 2: Create a New Project (Optional)

  • If you don't have an existing project, create a new one by clicking on the New Project button.

Create a Server in Hetzner

  • Enter a name for your project and click Add Project.

Create a Server in Hetzner

Step 3: Select a Project

  • Select the project in which you wish to create your server.

Create a Server in Hetzner

Step 4: Create a New Hetzner Cloud Server

  • Navigate to the Servers sub-menu and click on Add Server to begin creating your server.

Create a Server in Hetzner

Step 5: Configure your server

  1. Select a Location: Select the data center location where you want to deploy your server. Choose the region that is closest to your target audience for better performance. Create a Server in Hetzner
  2. Select an Image: ServerAvatar supports both Ubuntu 20.04 and Ubuntu 22.04. Therefore, choose one of these supported operating systems. Create a Server in Hetzner
  3. Select a Server Type: Hetzner provides various plans with different configurations of CPU, RAM, and storage. Select the server type based on your requirements. To host Invoice Ninja, at least 2GB or more of RAM for better performance and 1GB of free disk space is required for initial setup, and additional space is needed for data. The total amount of space required will vary based on your usage and storage needs. Create a Server in Hetzner
  4. Select Networking: Select from three networking options for your server. Private networks allow you to securely connect servers within the same data center without going over the public internet. Create a Server in Hetzner
  5. SSH Key or Root Password: Select an SSH Key if you want to authenticate with an SSH key. This method is recommended over using a root password for enhanced security. If you choose SSH key authentication, Hetzner will disable password-based authentication by default. Otherwise, you will receive the root password via email. Create a Server in Hetzner
  6. Add a Firewall Rule: Configure firewall rules to control incoming and outgoing traffic based on IP addresses, ports, and protocols for improved security. Create a Server in Hetzner
  7. Additional Options (Optional): Configure additional options such as Backups, Placement Groups, Volumes, Labels, and Cloud Config as per your Requirements.
  8. Give a Server Name: Enter a server name for easy identification. Create a Server in Hetzner
  9. Finalize and Create: Review your configuration settings to ensure that everything is configured correctly. Click on the Create & Buy Now button.9. Finalize and Create: Review your configuration settings to ensure that everything is configured correctly. Click on the Create & Buy Now button. Create a Server in Hetzner

Step 6: Access Your Server

  • Once the server is deployed, it will appear on your Hetzner Cloud dashboard. Use the provided IP address and SSH key (if configured) to access your server via SSH. Now, You can connect your Server with ServerAvatar for Server management.

Create a Server in Hetzner

Initial Server Configuration

The Initial server configuration includes the installation and configuration of various packages required to host your website. Usually, You have to write commands and modify configuration files. Luckily, With ServerAvatar, Your full server configuration and optimization can be automated.

Here are the three ways to automatically configure your server with ServerAvatar.

Install and Setup Invoice Ninja on Cloud Using ServerAvatar

Step 1: Create Database

Access the Databases tab on the ServerAvatar server panel to create a MySQL Database.

image

Enter the credentials and click on the Create Database button.

image

Step 2: Change PHP-CLI Version

Deploying InvoiceNinja on the server requires PHP-CLI Version 8.1 or above at the server level. To configure the PHP-CLI version, follow the Snapshot.

image

Step 3: Create PHP Application

Access the Applications tab from the server panel to create a new PHP application.

image

Fill up the required information, including the Application Name, Domain Name, and Advanced Options for more PHP settings.

image

Proceed to next by clicking on the Next Step.

Now select method and service provider Git and GitHub, respectively (follow according to Snapshot)

image

Enter the required information as given below:

Repository Type: Public
Clone HTTPS URL: https://github.com/invoiceninja/invoiceninja.git
Branch: v5-stable
Deployment script:

git checkout v5-stable;
cp .env.example .env;
composer i -o --no-dev
php artisan key:generate

image

Move further by clicking on the Next Step.

Create a System User or choose a system user from an existing One.

Then choose PHP version 8.1 or above; the custom webroot should be Public as in the given Snapshot.

Custom Webroot: Public

image

Then, click on the Create Application button.

Step 4: Connect Database

go to the File Manager tab from the sidebar of the application. And access the public_html folder

image

Now check the Show Hidden Files box to access the .env file to change to the original database credentials.

image

Change the following configuration to establish a connection with the database.

DB_DATABASE= Database_Name
DB_USERNAME= Database_Username
DB_PASSWORD=Database_Password

to access database credentials, go to the Database tab from the sidebar of the server panel and click the database that we created in the first step.

image

that's all, open your application URL in the web browser to access the Invoice Ninja setup page.

image

Tip: ServerAvatar provides a one-click solution for installing an SSL certificate on your domain. To install SSL, go to the application panel and click the SSL Certificate button to install automatic SSL in your application domain.