Skip to content

Commit 5ae783c

Browse files
committed
feat: add apx documentation
1 parent fba8730 commit 5ae783c

6 files changed

+968
-0
lines changed

docs/articles/en/getting-started.md

+114
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# Getting Started with Apx
2+
3+
Apx is designed to be a versatile, distro-agnostic tool that can be installed on any Linux distribution. Follow the steps below to get Apx up and running on your system.
4+
5+
## Prerequisites
6+
7+
Before installing Apx, ensure you have the following software installed:
8+
9+
1. **Go**: This is required to compile Apx. Install it from your distribution's package manager.
10+
2. **Git**: Needed to clone the Apx repository.
11+
3. **Podman or Docker**: Either container runtime is suitable, but Podman is recommended.
12+
4. **Make**: This utility is used for building and installing Apx.
13+
14+
## Installation Procedure
15+
16+
### Clone the Apx Repository
17+
Open your terminal and run the following commands to clone the repository and navigate into it:
18+
```bash
19+
git clone --recursive https://github.com/Vanilla-OS/apx.git
20+
cd apx
21+
```
22+
23+
### Build Apx
24+
Compile Apx by executing:
25+
```bash
26+
make build
27+
```
28+
29+
### Install Apx
30+
To install Apx system-wide, run:
31+
```bash
32+
sudo make install
33+
```
34+
35+
### Install Apx Manpages
36+
For the manual pages, execute:
37+
```bash
38+
sudo make install-manpages
39+
```
40+
41+
## Custom Installation Destination
42+
43+
You can change the installation prefix or destination using `PREFIX` and `DESTDIR`. Here are examples for custom installations:
44+
45+
- **Install Apx to `~/.local`**:
46+
```bash
47+
make install PREFIX=$HOME/.local
48+
make install-manpages PREFIX=$HOME/.local
49+
```
50+
51+
- **Install Apx to a separate root**:
52+
```bash
53+
make install DESTDIR=$HOME/altroot
54+
make install-manpages DESTDIR=$HOME/altroot
55+
```
56+
57+
# Getting Started with Apx-GUI
58+
59+
Apx-GUI provides a graphical interface for managing your Apx installations. Follow the steps below to install Apx-GUI on your system.
60+
61+
## Dependencies
62+
63+
Before you start, ensure you have the following dependencies installed:
64+
65+
1. **build-essential**: A package containing essential compilation tools.
66+
2. **meson**: A build system to configure the project.
67+
3. **libadwaita-1-dev**: A library for building modern GNOME applications.
68+
4. **gettext**: A utility for internationalization and localization.
69+
5. **desktop-file-utils**: Tools for handling desktop entry files.
70+
6. **apx (2.0+)**: Ensure you have Apx version 2.0 or higher installed.
71+
72+
You can install these dependencies using your distribution's package manager. For example, on Debian-based systems, you can run:
73+
74+
```bash
75+
sudo apt update
76+
sudo apt install build-essential meson libadwaita-1-dev gettext desktop-file-utils apx
77+
```
78+
79+
## Installation Procedure
80+
81+
### Clone the Apx-GUI Repository
82+
Open your terminal and run the following commands to clone the repository and navigate into it:
83+
```bash
84+
git clone https://github.com/Vanilla-OS/apx-gui.git
85+
cd apx-gui
86+
```
87+
88+
### Build Apx-GUI
89+
90+
Once you have cloned the repository, build Apx-GUI by running:
91+
92+
```bash
93+
meson setup build
94+
ninja -C build
95+
```
96+
> **NOTE:** you can set a custom installation destination by passing `--prefix=/path/to/dir` to `meson`
97+
98+
### Install Apx-GUI
99+
100+
After successfully building the application, install it with the following command:
101+
102+
```bash
103+
sudo ninja -C build install
104+
```
105+
106+
### Run Apx-GUI
107+
108+
You can launch Apx-GUI using the following command:
109+
110+
```bash
111+
apx-gui
112+
```
113+
114+
Follow these steps to successfully install and run Apx-GUI on your system. Enjoy managing your Apx installations with the graphical interface!

docs/articles/en/introduction.md

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Introduction to APX
2+
3+
APX is a versatile command-line interface (CLI) tool designed to simplify the management of operating system containers. With a focus on efficiency and user-friendliness, APX empowers users to create, manage, and customize containers for a variety of applications and services.
4+
5+
Key features of APX include:
6+
7+
- **Subsystems**: APX supports the management of container-based operating systems running on top of the host. These are called subsystems in APX. They are lightweight and provide flexible environments that have no effect on the host system.
8+
9+
- **Stacks**: Organize related configurations and dependencies into cohesive groups called stacks. This feature creates consistent, reproducable environments to develop software, deploy workloads, or install packages that may be incompatible with your host system.
10+
11+
- **Package Manager Integration**: APX includes built-in support for various package managers, enabling users to manage software installations and dependencies directly within their container environments. Users can easily create, update, and remove package managers, streamlining the setup process for their applications.
12+
13+
- **Configuration Management**: APX offers robust tools for creating, updating, importing, and exporting configurations. This capability ensures that users can maintain their setups effectively and share them across different environments or automation tools.
14+
15+
- **User-Friendly Interface**: With intuitive commands and clear feedback, APX is designed for ease of use, making it accessible to both novice and experienced users.
16+
17+
By integrating these powerful features, APX provides developers and system administrators with the tools they need to efficiently manage their containerized applications and associated dependencies. Whether you're deploying microservices or managing development environments, APX helps you streamline your container management process.
18+
19+
Explore APX and discover a more efficient approach to managing your operating system containers, stacks, subsystems, and package managers!
20+
+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
## Package Managers
2+
In APX, package managers are essential components that facilitate the management of software packages within operating system containers. They provide a way to install, update, remove, and manage software dependencies seamlessly. Here’s an overview of what package managers do in APX:
3+
4+
### Key Functions of Package Managers in APX
5+
6+
1. **Installation of Software**: Package managers allow users to install new software packages easily with a simple command, streamlining the process of setting up applications and services within containers.
7+
8+
2. **Dependency Management**: They automatically handle dependencies, making sure that all required libraries and components are present when a package is installed.
9+
10+
3. **Custom Package Managers**: Users can define and configure custom package managers for different operating systems or environments, ensuring flexibility and adaptability to specific needs.
11+
12+
By integrating package managers into APX, users gain powerful tools to efficiently manage software installations and maintain their container environments, ultimately enhancing productivity and reducing complexity in application deployment and management.
13+
14+
## Stacks
15+
In APX, stacks serve as the foundational templates from which subsystems are created. Each stack defines a combination of a container base and a curated list of packages to preinstall using a package manager, establishing a consistent environment for deployment. By using stacks, developers can ensure that all necessary components and configurations are in place before instantiating subsystems, simplifying the setup process and promoting uniformity across different applications. This structured approach facilitates efficient management of dependencies and enhances the overall reliability of the containerized environment.
16+
17+
### Key Features of Stacks in APX
18+
19+
1. **Simplified Deployment**: By grouping related software and configurations, stacks facilitate streamlined deployment processes. Users can deploy a stack with a single command, ensuring that all necessary components are included.
20+
21+
2. **Version Control**: Stacks are versioned through container tags, enabling users to maintain different configurations or setups for various environments.
22+
23+
3. **Collaboration and Sharing**: Users can easily share stacks with others or import stacks created by different teams, promoting collaboration and consistency across projects.
24+
25+
4. **Environment Management**: Stacks allow for easy management of different environments, making it simple to switch between configurations tailored for specific tasks or projects.
26+
27+
By utilizing stacks in APX, users can enhance their ability to manage complex applications, maintain organized workflows, and ensure that all components work harmoniously within their containerized environments. This structured approach leads to more efficient development, testing, and deployment processes.
28+
29+
## Subsystems
30+
In APX, subsystems function as containerized sandboxes that isolate and manage specific functionalities or services within an application environment. Each subsystem operates independently, ensuring that dependencies and configurations do not interfere with one another. This encapsulation enhances security, stability, and scalability, allowing developers to build and deploy applications with confidence, knowing that each subsystem can be maintained and updated without affecting the overall system.
31+
32+
### Key Features of Subsystems in APX
33+
34+
1. **Modularity**: Subsystems are designed to be self-contained, allowing users to develop, test, and deploy individual components independently. This modularity promotes easier maintenance and updates.
35+
36+
2. **Configurability**: Users can configure subsystems to meet specific requirements, adjusting parameters to suit different environments or application needs. This flexibility enhances customization and usability.
37+
38+
3. **Interoperability**: Subsystems in APX enable interoperability in software by providing isolated, containerized environments that facilitate seamless communication and integration between diverse applications and components.
39+
40+
By leveraging subsystems in APX, users can build complex applications in a structured and efficient manner, enhancing their ability to manage individual components while maintaining a cohesive overall architecture. This approach supports rapid development cycles, easy integration of new features, and streamlined maintenance processes.

0 commit comments

Comments
 (0)