Skip to content

There was an error deploying on the local server, and using Manual Install is also incorrect. #691

Description

@peanutsugarlove

Describe the bug

I am not sure if this is a bug or if I configured it incorrectly, but I am unable to successfully register any external apps. When I was using automatic deployment of local Docker, I encountered the following error: it added a useless docker. io% 2F, which caused the inability to pull successfully.

cotton-candy@cotton-candy-System-Product-Name:~/myservice/nextcloud$ docker exec --user www-data nextcloud php occ app_api:app:register gadget_inventory --info-xml=/var/www/html/info.xml
ExApp gadget_inventory deployment failed. Error: Failed to pull image via "http://appapi-harp:24000/", GuzzleException occur: Client error: POST http://appapi-harp:24000/v1.41/images/create?fromImage=docker.io%2F127.0.0.1%3A5050%2Fgadget-inventory%3Alatest resulted in a 400 Bad Request response

Then I tried using Manual Install, but it added a :23000 suffix that prevented the program from mounting successfully

{
      "reqId": "gEPkIjHggxGgp96Ly0Ps",
      "level": 2,
      "time": "2025-10-29T04:01:12+00:00",
      "remoteAddr": "",
      "user": false,
      "app": "app_api",
      "method": "",
      "url": "--",
      "message": "Failed heartbeat on http://appapi-harp:24000:23000 for 70 times. Most recent status=0, error: cURL error 3: URL using bad/illegal format
     or missing URL (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://appapi-harp:24000:23000/heartbeat",
      "userAgent": "--",
      "version": "31.0.0.18",
      "data": {
        "app": "app_api"
      }
    }

Steps/Code to Reproduce

This is the XML for Docker install

 <external-app>
        <docker-install>
            <!-- No <registry> tag, put the full URL in <image> -->
            <image>127.0.0.1:5050/gadget-inventory</image>
            <image-tag>latest</image-tag>
        </docker-install>

        <!-- Other configurations are direct children of <external-app> -->
        <protocol>http</protocol>
        <internal_port>8500</internal_port>

        <health-check>
            <path>/health</path>
            <port>8500</port>
            <interval>30</interval>
            <timeout>10</timeout>
            <retries>3</retries>
            <start-period>40</start-period>
        </health-check>

        <environment>
            <variable>
                <name>ENV</name>
                <value>production</value>
            </variable>
            <variable>
                <name>NEXTCLOUD_EXAPP</name>
                <value>true</value>
            </variable>
            <variable>
                <name>APP_ID</name>
                <value>gadget_inventory</value>
            </variable>
            <variable>
                <name>APP_VERSION</name>
                <value>1.0.0</value>
            </variable>
            <variable>
                <name>APP_SECRET</name>
                <value>your-secret-key-here</value>
            </variable>
        </environment>

        <mounts>
            <mount type="volume" source="gadget-uploads" target="/app/uploads"/>
            <mount type="volume" source="gadget-datasheets" target="/app/datasheets"/>
            <mount type="volume" source="gadget-data" target="/app/backend/data"/>
        </mounts>
    </external-app>

Manual install Running commands

cotton-candy@cotton-candy-System-Product-Name:~/myservice/nextcloud$ docker exec --user www-data nextcloud php occ app_api:app:register gadget_inventory docker_local --info-xml=/var/www/html/info_manual.xml --test-deploy-mode
ExApp gadget_inventory heartbeat check failed. Make sure that Nextcloud instance and ExApp can reach it other.

Expected Results

install successfully

Actual Results

Unable to install successfully

Setup configuration

app_api=5.0.2 nexcloud=31.0.10

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions