# Docker&#x20;

### Prerequisites

***

Before proceeding with the installation, please make sure you have the following prerequisites installed:

* Git: [Install Git](https://git-scm.com/)
* Docker: [Install Docker](https://docs.docker.com/get-docker/)
* Docker Compose: [Install Docker Compose](https://docs.docker.com/compose/install/)

**Installing Git**

***

Setting up Git on Windows is a straightforward process. Follow these steps to get started:

1. Download Git:
   * Visit the official Git website: <https://git-scm.com/>
   * Click on the "Download for Windows" button.
   * The download will start automatically. Once it's complete, run the installer.
2. Install Git:
   * Run the downloaded Git installer.
   * You'll see a series of setup options:
     * Select the language you prefer for the installation process.
     * Click "Next" to proceed.
     * Read the license agreement and accept it.
     * Select "OpenSSL" option for HTTPS transport backend.
     * Click "Next" to proceed.
3. Complete the Installation:
   * Choose your preferred terminal emulator for using Git commands (e.g., Git Bash, Command Prompt, PowerShell). Git Bash is highly recommended.
   * Click "Next" to begin the installation process.
   * When the installation is complete, click "Finish."
4. Verify the Installation:
   * Open the terminal emulator you chose during installation (e.g., Git Bash).
   * To verify Git installation use below command. You should see the installed Git version in the terminal.

```
git --version
```

**Docker Install Verification**

To verify if Docker and Docker Compose are installed correctly, run the following commands:

```
docker --version
docker-compose --version
```

Make sure you see the version numbers for both commands.

### Installation

***

1. Clone the SimpleAccounts-UAE repository:

```
git clone https://github.com/SimpleAccounts/SimpleAccounts-UAE.git
cd SimpleAccounts-UAE
```

2. Open the `docker/docker-compose.yml` file and review the environment variables defined under the backend service section. These variables control various aspects of the application, including SMTP configuration and database settings. It is recommended to change the default values, especially for sensitive information such as passwords.
3. Start the application using Docker Compose:

   ```
   docker-compose up -d
   ```

This command will download the required Docker images and start the containers in the background.

Access the SimpleAccounts-UAE application by opening your web browser and navigating to [http://localhost:80](http://localhost/).<br>

### Environment Variables

***

The following environment variables can be configured in the `docker/docker-compose.yml` file under the backend service section:

* `SIMPLEVAT_SMTP_USER`: SMTP username for sending emails.
* `SIMPLEVAT_SMTP_PASS`: SMTP password for authentication.
* `SIMPLEVAT_SMTP_HOST`: SMTP server hostname.
* `SIMPLEVAT_SMTP_PORT`: SMTP server port.
* `SIMPLEVAT_SMTP_AUTH`: SMTP authentication method.
* `SIMPLEVAT_SMTP_STARTTLS_ENABLE`: Enable STARTTLS for SMTP connection.
* `SIMPLEVAT_RELEASE`: Application release version.
* `SIMPLEVAT_HOST`: Application host URL.
* `SIMPLEVAT_DB_HOST`: Hostname of the PostgreSQL database.
* `SIMPLEVAT_DB`: Name of the PostgreSQL database.
* `SIMPLEVAT_DB_USER`: PostgreSQL database username.
* `SIMPLEVAT_DB_PASSWORD`: PostgreSQL database password.
* `SIMPLEVAT_DB_PORT`: PostgreSQL database Port number.

It is recommended to review and update these variables according to your specific configuration.

> Note: Please ensure that sensitive information, such as passwords, are stored securely and not committed to version control.<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.simpleaccounts.io/getting-started/installation-guide/docker.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
