Deployment Overview of Curiosity on Server¶
Prerequisites and Basic Requirements¶
The Curiosity application is designed to run on Debian or Ubuntu-based Linux distributions. The following requirements must be met before initiating the installation:
- Operating System: Debian or Ubuntu.
- Privileges: Root access or
sudoprivileges are required to install packages and manage system services. - Network Access: The server must have outbound internet access to download the application package from the GitHub repository.
- Dependencies: The installation process automatically resolves and installs the following system libraries if they are not already present:
wgetcurllibc-devlibsnappy1v5
Application Installation Process¶
The Curiosity application is distributed as a Debian package (.deb). The installation process involves downloading the latest release version directly from the official GitHub repository and installing it via the apt package manager.
The installation steps are as follows:
- Update System Packages: The system package lists are updated, and all installed packages are upgraded to their latest versions.
- Download the Package: The installer retrieves the latest
.debfile from thecuriosity-ai/curiosity-app-linuxrepository. The script dynamically identifies the latest release asset. - Install the Package: The downloaded
.debfile is installed using theaptcommand. - Cleanup: Temporary installation files located in
/tmpare removed after successful installation.
The installation command sequence effectively performs the following actions:
File and Directory Structure¶
Upon successful installation, the Curiosity application is managed by the system's package manager. The specific file locations for binaries, configuration files, and data directories are determined by the package manifest.
- Temporary Download Location:
/tmp(used only during the installation phase). - System Package Manager:
apthandles the placement of binaries and configuration files according to standard Debian/Ubuntu conventions.
Starting, Stopping, and Updating¶
Once installed, the Curiosity application is managed as a standard system service. The specific service name is defined within the installed package.
- Starting the Service: Use the standard service management command to start the application.
- Stopping the Service: Use the standard service management command to stop the application.
- Updating the Application: To update Curiosity to a newer version, repeat the download and installation process with the latest
.debpackage. Theaptpackage manager will handle the upgrade sequence.
Example commands for service management (replace curiosity with the actual service name if different):
Access Rights and Security¶
The installation process requires elevated privileges to modify system packages and libraries.
- User Privileges: The installation must be executed with
rootprivileges or viasudo. - Firewall: No specific firewall rules are configured by the installer. Ensure that necessary ports are open based on your network architecture.
- Security Restrictions: The application relies on the standard security model of the host operating system.