Skip to content

#BE-4689 Added Docker Compose Parallelism #720

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 55 additions & 3 deletions docs/self-hosted-appcircle/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,65 @@ If you need to use a proxy on the Appcircle server, you should configure proxy s

### We are facing "manifest not found" error when we run the `up` command.

If you are using the Nexus registry and are facing a "manifest not found" error, this is an expected case to occur. Nexus proxy has a known bug while pulling multiple container images. You should pull images one by one as a workaround.
This error often occurs if the images weren’t updated using the `upgrade` command before running the `up` command. [Container image registries](/self-hosted-appcircle/configure-server/external-image-registry.md) can sometimes struggle with simultaneous requests to pull multiple images, leading to issues like "manifest not found."

To pull images one by one, you can see the [Pulling Image One By One](./configure-server/external-image-registry#pulling-images-one-by-one) document. Then you can pull images one by one with this script. So you won't face "manifest not found" error any more.
To address this, the `upgrade` command on the Appcircle server limits the number of pulled images to `5` by default, which helps avoid overloading the container image registry. Make sure to follow the [Upgrade Images](/self-hosted-appcircle/update.md#4-update-images) section carefully to prevent this issue. You can configure the default parallelism limit from `5` to anything you need with the `global.yaml` of your project:

- Go to the `appcircle-server` directory.

```bash
cd appcircle-server
```

:::info

The `spacetech` in the example codes below are example project name.

Please find your own project name and replace `spacetech` with your project name.

To see projects, you can check the `projects` directory.

```bash
ls -l ./projects
```

:::

- Edit the `global.yaml` file of your project and configure the parallelism limit as your needs.

```bash
vi ./projects/spacetech/global.yaml
```

:::caution
If the `container` key already exist in the `global.yaml`, you should just update or add the missing `parallelLimit` key.
:::

```yaml
container:
parallelLimit: 10
```

- Apply configuration changes.

```bash
./ac-self-hosted.sh -n "spacetech" export
```

Now the `upgrade` command of the Appcircle server will try to pull `10` images at once.

If that didn't work for you, you can try to pull images one by one as a workaround. To pull images one by one, you can see the [Pulling Image One By One](./configure-server/external-image-registry#pulling-images-one-by-one) document. Then you can pull images one by one with this script. So you won't face "manifest not found" error any more.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@burakberkkeskin We can add a tip box to the below page referencing here;

and there say that "Using container.parallelLimit:1 will also force docker compose to pull images sequentially one by one".

But first we should test if this proposal is working. 🧪


### Where should we download the zip package while we are updating?

Download the zip package of the appcircle server and extract it to the same folder as the already existing Appcircle server folder. Your data and configuration will be saved while updating.
Download the zip package of the appcircle server and extract it to the same folder as the already existing Appcircle server folder. Your data and configuration will be saved while updating. The directory structure should be similar to:

```bash
.
|-- appcircle-server
|-- appcircle-server-linux-x64-3.22.1-abcd.zip
`-- cred.json
```

### How do I change Docker or Podman's data location?

Expand Down
Loading