Skip to main content

Install AhsayCBS

4 Mar, 2025

Install AhsayCBS in the following:

 

Windows

  1. Click on the arrow on the right of the downloaded installer then click Open.

    AhsayCBS installer

    Alternatively, double click the downloaded installer.

    AhsayCBS installer

  2. Click Run once you see the following message.

    Security Warning

  3. Choose the language, and then click OK to continue.

    Setup Language

  4. Click Next to continue.

    AhsayCBS Setup

  5. Select I accept the agreement after reading the license agreement, then click Next to proceed.

    AhsayCBS Setup

  6. Choose the installation directory. Then, click Next to continue.

    AhsayCBS Setup

  7. Click Next to continue.

    AhsayCBS Setup

  8. Enter the ports to be used by AhsayCBS. By default, the ports are 80 and 443 (HTTP and HTTPS respectively). If these ports have been used by other applications, e.g. Microsoft IIS, Apache or other applications, please use alternative ports such as 8080 and 8443. Click Next to continue when you are done setting.

    AhsayCBS Setup

  9. Click Install to start the installation.

    AhsayCBS Setup

  10. Click Finish to complete the installation.

    AhsayCBS Setup

 

Windows Server Core

  1. Use the "C:\temp\cbs-win.exe" command to execute the installer.

    Install on Windows Server Core

  2. Choose the language, and then click OK to continue.

    Setup Language

  3. Click Next to continue.

    AhsayCBS Setup

  4. Select I accept the agreement after reading the license agreement, then click Next to proceed.

    AhsayCBS Setup

  5. Choose the installation directory. Then, click Next to continue.

    AhsayCBS Setup

  6. Click Next to continue.

    AhsayCBS Setup

  7. Enter the ports to be used by AhsayCBS. By default, the ports are 80 and 443 (HTTP and HTTPS respectively). If these ports have been used by other applications, e.g. Microsoft IIS, Apache or other applications, please use alternative ports such as 8080 and 8443. Click Next to continue when you are done setting.

    AhsayCBS Setup

  8. Click Install to start the installation.

    AhsayCBS Setup

  9. Click Finish to complete the installation.

    AhsayCBS Setup

    Untick the “Administrator Login” checkbox before clicking Finish.

    If you forgot to untick the “Administrator Login” checkbox before clicking Finish you will get a rundll error. You can ignore this message since the missing “url.dll” is only used to launch the AhsayCBS web console in a browser.

    AhsayCBS Setup

 

Linux / FreeBSD

  1. Use the "tar" command to extract the downloaded cbs-nix.tar.gz installation file.

    extract installer

  2. Go to the bin folder then run the "install.sh" script to start the installation process.

    Install

  3. Only on FreeBSD, when asked to enter the java 1.8 home, type the following:

    "/usr/local/openjdk8" which is the location of your java 1.8 home but the path may be different depending on the installed java.

    java 1.8 home path

    Installation will continue after providing the path to java 1.8 home

    install

  4. After successful installation, you can access the AhsayCBS login page by opening https://your-backup-server in a browser.

    java 1.8 home path

 

Docker in Windows

Windows Requirements

  • Windows 10 (Home or Pro version 22H2 or higher, Enterprise or Education 22F2 (build 19045) or higher)
  • Windows 11 64-bit (Home or Pro version 21H2 or higher, Enterprise or Education 21H2 or higher)
  • Windows Subsystem for Linux (WSL) 1.1.3.0 or above
  • 64-bit processor
  • 4GB system RAM
  • Windows Firewall must be stopped or open ports 80, 443 before deployment
  • Enable Hardware Virtualization in BIOS
     

Limitation

Docker Desktop is not supported on server versions of Windows, such as Windows Server 2019 or Windows Server 2022.

  1. Install WSL

    To enable the features necessary to run WSL and install the Ubuntu distribution of Linux, run the command in Powershell:

    wsl --install 

    Install Ubuntu and run WSL

  2. Install Docker Desktop on Windows
     
    1. Download the installer from the Docker Desktop release notes page.

      Docker Desktop installer download page

    2. Run the installer.
       
      1. Double-click the Docker Desktop Installer.exe to run the installer. By default, Docker Desktop is installed at C:\Program Files\Docker\Docker.

        Docker Desktop installer

      2. By default, the "Use WSL 2 instead of Hyper-V" option is ticked on the Configuration page. Modify the option depending on your choice of backend.

        Docker Desktop Configuration page

      3. Follow the instructions on the installation wizard to authorize the installer and proceed with the install.

        Docker Desktop Installation

      4. When the installation is successful, click Close and logout to complete the installation process.

        Docker Desktop Installation Complete

    3. Add user to docker-users group.
       
      1. Run Computer Management as an administrator.

        Computer Management

      2. Go to Local Users and Groups > Groups > docker-users.

        Local Users and Groups

      3. Right-click to add your Windows user account to the group.

        Add user to group

      4. Sign out and sign back in for the changes to take effect.
  3. Create and Start Containers

    Run the following in the command prompt:

    docker run --name <container name> -d -p <optional IP>:<http port>:80 -p <optional IP>:<http port>:443 -v <local user home>:/user -v <local conf folder>:/config -v <local system folder>:/system -v <local log folder>:/logs <AhsayCBS docker hub account>/<project name>:<image tag> 

    Create AhsayCBS Container in Docker Desktop

    Example:

    docker run --name cbs9 -d -p 80:80 -p 443:443 -v user:/user -v config:/config -v system:/system -v logs:/logs ahsay/cbs9:91120 

    Create AhsayCBS Container in Docker Desktop

    The local volume folder structure will automatically create and clone the default configuration if it does not exist or use the existing one which is the default volume path.

    \\wsl$\docker-desktop-data\data\docker\volumes

    The volume can also be accessed via the Docker Desktop console

    \\wsl$\docker-desktop-data\data\docker\volumes\config\_data
    \\wsl$\docker-desktop-data\data\docker\volumes\logs\_data
    \\wsl$\docker-desktop-data\data\docker\volumes\system\_data
    \\wsl$\docker-desktop-data\data\docker\volumes\user\_data
    

    List of Volumes in Docker Desktop

  4. Access AhsayCBS
     
    1. Open the Docker Desktop.

      Docker Desktop

    2. AhsayCBS has been installed. You can access this by clicking on the port, you can choose from 443 or 80.

      Click the port in Docker Desktop

    3. AhsayCBS web console will be displayed.

      AhsayCBS web console

  5. Other Functions

    Stop and Start Containers

    • Using the command prompt:

      docker start <container name>
      docker stop <container name> 
    • Using the Docker Desktop console:

      Go to Containers > <container name> > Action > Stop/Start

      Start or Stop containers in Docker Desktop

    Recreate the container

    Run using the command prompt:

    docker stop <container name>
    docker rm <container name> 

    Example:

    docker run --name cbs9 -d -p 80:80 -p 443:443 -v user:/user -v config:/config -v system:/system -v logs:/logs ahsay/cbs9:latest 

    Clean up Docker Environment

    If issues are encountered and there is a need to remove all Docker containers and images:

    • Using the command prompt:

      docker rm <container name>
      docker rmi <image name> 
    • Using the Docker Desktop console:

      Go to Containers > <container name> > Action > Delete

      Delete Containers in Docker Desktop

      Go to Images > <image name> > Action > Delete

      Delete Images in Docker Desktop

This will remove all Docker containers and images. Ensure there are no other Docker instances you need.

DO NOT remove the volumes if you want to keep the AhsayCBS data.

Upgrade AhsayCBS

  1. Stop the container.

    docker stop <container name>
  2. Remove the container.

    docker rm <container name>
  3. Download the update.

    docker run --name <container name> -d -p <optional IP>:<http port>:80 -p <optional IP>:<https port>:443 \
    				-v <local user home>:/user \
    				-v <local conf folder>:/config \
    				-v <local system folder>:/system \
    				-v <local log folder>:/logs \
    				<AhsayCBS docker hub account>/<project name>:<image tag> 

 

Docker in Linux

Linux Requirements

  • 64-bit version of Ubuntu (Noble 24.04 LTS, Jammay 22.04 LTS or Focal 20.04 LTS)
  • Administrative access to install software packages
     

Consider the following security implications and firewall incompatibilities before installing Docker.

  • If using ufw or firewalld to manage firewall settings, when you expose container ports using Docker, these ports bypass the firewall rules. For more information, please refer to Docker and ufw.
  • Docker is only compatible with iptables-nft and iptables-legacy. Use iptables or ip6tables to create firewall rule sets and add them to the DOCKER-USER chain, for more information please refer to Packet filtering and firewalls. Firewall rules created with nft are not supported.

Setting up Ubuntu Environment

Before starting the installation, prepare the Ubuntu environment first by running the following commands using the terminal:

  1. To update the package list for upgrades and new package installations.

    apt-get update -y

    Update package list

  2. To install necessary packages for Docker, including certificates, curl, GnuPG, LSB release information and lsof (used to list open files).

    sudo apt-get install ca-certificates curl gnupg lsb-release lsof -y 

    Install necessary packages for Docker

  3. To add Docker's official GPG key to ensure authenticity of Docker packages.

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 

    Add Docker's official GPG key

  4. To setup a repository for Docker.

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 

    Setup Repository for Docker

  5. To update the package list again to include the Docker repository.

    apt-get update -y 

    Update package list

  6. To install the Docker Engine, Docker CLI and containerd, which are required for running containers.

    apt-get install docker-ce docker-ce-cli containerd.io -y 

    Install Docker Engine

  7. To add the current user to the docker group.

    sudo usermod -aG docker <current user> 

    Add user to docker group

    If the docker group is not created automatically, create the group by running this command:

    sudo groupadd docker

    Add docker group

Create and Start Containers

Run the following in the terminal:

  1. To create the AhsayCBS Docker root folder.

    sudo mkdir /usr/local/cbs
    sudo chown $(id -u):$(id -g) /usr/local/cbs
    cd /usr/local/cbs

    Create AhsayCBS Docker root folder

  2. To create the AhsayCBS docker with latest release version.

    docker run --name <container name> -d -p <optional IP>:<http port>:80 -p <optional IP>:<http port>:443 -v <local user home>:/user -v <local conf folder>:/config -v <local system folder>:/system -v <local log folder>:/logs <AhsayCBS docker hub account>/<project name>:<image tag> 

    Example:

    docker run --name cbs9 -d -p 80:80 -p 443:443 -v ./user:/user -v ./config:/config -v ./system:/system -v ./logs:/logs ahsay/cbs9:latest 

    Create AhsayCBS docker

    Specific release version may also be used (e.g. 9.11.2.0) by replacing "ahsay/cbs9:latest" with the specific version (e.g. ahsay/cbs9:91120)

The local server's folder structure for the above example will automatically create and clone the default configuration if it does not exist, or it will use the existing folder and configuration file.

/usr/local/cbs/config
/usr/local/cbs/logs
/usr/local/cbs/system
/usr/local/cbs/user 

Local Server's folder structure

To check the Docker status:

docker ps -a

Docker Status

Access AhsayCBS

Access the AhsayCBS web console at https://<your_backup_server>.

AhsayCBS Web Console

Other Functions

Stop and Start Container

Run using the terminal:

docker start <container name>
docker stop <container name> 

Recreate the Container

Run using the terminal:

docker stop <container name>
docker rm <container name>
docker run --name <container name> -d -p <optional IP>:<http port>:80 -p <optional IP>:<http port>443 -v <local user home>:/user -v <local conf folder>:/config -v <local system folder>:/system -v <local log folder>:/logs <AhsayCBS docker hub account>/ <project name>:<image tag> 

Example:

docker run --name cbs9 -d -p 80:80 -p 443:443 -v ./user:/user -v ./config:/config -v ./system:/system -v ./logs:/logs ahsay/cbs9:latest 

Clean Up Docker Environment

If issues are encountered and there is a need to remove all Docker containers and images, run the following commands using the terminal:

docker stop $(docker ps -ag)
docker rm $(docker ps -ag)
docker rmi $(docker images -q) 
This will remove all Docker containers and images. Ensure there are no other Docker instances you need.

Upgrade AhsayCBS

Please refer to the upgrade instructions in the previous section.

 

Docker in QNAP

QNAP NAS Requirements

  • CPU architecture: 64-bit x86-based NAS
  • Memory: 4GB or above
  • Operating System: QTS 4.2.6 or above / QuTS hero h4.5.0 or above
  1. Install Container Station 
     
    1. Log in to QNAP web interface by opening a web browser and typing the IP address of your QNAP device. (e.g. http://<your-QNAP-IP>).
    2. Open the App Center. From "Utilities" or "QTS Essentials", search for Container Station.

      QNAP App Center

    3. Click Install and wait for the installation to complete.

      Install Container Station

  2. Prepare Container Station 
     
    1. Click Container Station on the Main menu.

      Container Station

    2. Select your preferred folder and click Start.

      Container Station

      It will ask for the default folder to be used to store images and containers only during first time use of Container Station.
    3. Click Yes in the "Data Collection Agreement" prompt.

      Data Collection Agreement

    4. In the File Station, check if a container folder with subfolders are created.

      File Station

  3. Create folder for AhsayCBS data 
     
    1. Using an SSH tool (e.g. Putty), access QNAP and log in with your username and password.

      Log in to QNAP using Putty

    2. Create a new folder for the AhsayCBS data by using the following command.

      mkdir /share/<QNAP data volume>/<AhsayCBS root folder>

      Example:

      Create new folder

      In the example above, "test" is the QNAP data volume and "cbs" is the AhsayCBS root folder.
    3. Verify that the AhsayCBS folder is created by checking the File Station.

      File Station

      Make sure to create the AhsayCBS folder in a shared folder to view the data inside that will be created once Docker CBS is installed.
  4. Pull image from Docker Hub

    Docker Hub is where the Docker images are stored, shared and distributed. Here, you can select what image to copy and pull to create a Docker container. You can select from the list which AhsayCBS version you want to install.

    1. Click Copy beside the version that you want to copy the command that will pull the image.

      Docker Hub

    2. Use an SSH tool, right click to paste the command then hit Enter. Wait for the pull to complete.

      Pull Image

    3. The image should be added in the Images tab of the Container Station.

      Container Station

  5. Create and Start Containers

    Run the following in the command prompt:

    docker run --name <container name> -d -p <optional IP>:<http port>:443 \
    				-v <local user home>:/user \
    				-v <local conf folder>:/config \
    				-v <local system folder>:/system \
    				-v <local log folder>:/logs \
    				<AhsayCBS docker hub account>/<project name>:<image tag> 
    • container name - assign a container name you want
    • optional IP - if you do not add the IP, the QNAP IP will be used
    • http port - you can assign any port but make sure that the port you will use is available and is not used by another service or container
    • local folders (user, config, system, logs) - use the cbs folder path to store the local folders
    • AhsayCBS docer hub account, project name and image tag - you can find it from the command used to pull the image

    Example:

    docker run --name cbs91320 -d -p 8443:8443 \ 
    				-v /share/test/cbs/user:/user \
    				-v /share/test/cbs/config:/config \
    				-v /share/test/cbs/system:/system \
    				-v /share/test/cbs/logs:/logs \
    				-v /share/test/cbs/work:/usr/local/cbs/work \
    				ahsayactest/cbs9:internal-latest 

    Create Container

    The local server's folder structure for the above example will automatically create and clone the default configuration if it does not exist, or it will use the existing folder and configuration file.

    • /usr/local/cbs/config
    • /usr/local/cbs/logs
    • /usr/local/cbs/system
    • /usr/local/cbs/work
    • /usr/local/cbs/user

    In Container Station, go to Containers and check if the container is created and running.

    Container Station

    To check the docker status use the command:

    docker ps -a

    Check Docker Status

  6. Access AhsayCBS:

    Open a web browser and enter the QNAP IP with the assigned port (e.g. https://10.3.0.129:8443) in the URL.

  7. Other Functions

    Stop and Start Containers

    • Using the command prompt:

      docker start <container name>
       

      or

      docker stop <container name> 
    • Using the Container Station:

      Go to Containers > <container name> > Action > Stop/Start

      Stop/Start Services using Container Station

    Recreate the container

    Run using the command prompt:

    docker stop <container name>
                            docker rm <container name> 
    docker rm <container name>
                            docker rm <container name> 
    docker run --name <container name> -d -p <optional IP>:<http port>:80 -p <optional IP>:<http port>:443 -v <local user home>:/user -v <local conf folder>:/config -v <local system folder>:/system -v <local log folder>:/logs <Ahsay CBS docker hub account>/<project name>:<image tag>
     

    Example:

    docker run --name cbs9 -d -p 80:80 -p 443:443 -v user:/user -v config:/config -v system:/system -v logs:/logs ahsay/cbs9:latest 

     

Upgrade AhsayCBS

  1. Stop the container.

    docker stop <container name>
  2. Remove the container.

    docker rm <container name>
  3. Run the command for creating container using the latest version.

    docker run --name <container name> -d -p <optional IP>:<http port>:443 \
    				-v <local user home>:/user \
    				-v <local conf folder>:/config \
    				-v <local system folder>:/system \
    				-v <local log folder>:/logs \
    				<AhsayCBS docker hub account>/<project name>:<image tag>