Unable to upload artifacts due to io error

Hello,

I’m hosting a Gitlab container (image: gitlab-ce:14.9.5-ce.0) on my server alongside a gitlab-runner
(image: gitlab-runner:v14.9.2) container.

version: '3'
networks:
  frontend:
    ipam:
      config:
        - subnet: 172.18.0.0/24
services:
  gitlab:
    build: ./gitlab-toto
    image: gitlab-toto
    container_name: gitlab
    restart: always
    networks:
      frontend:
        ipv4_address: 172.18.0.2
    ports:
      - "5050:5050"
      - "443:443"
      - "80:80"
      - "22:22"
    volumes:
      - /home/kevin/toto-ci/gitlab/config:/etc/gitlab
      - /home/kevin/toto-ci/gitlab/logs:/var/log/gitlab
      - /home/kevin/toto-ci/gitlab/data:/var/opt/gitlab
      - /home/kevin/toto-ci/gitlab/artifacts:/var/opt/gitlab/gitlab-rails/shared/artifacts
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker
      - /home/kevin/docker-registry:/etc/docker/registry
  gitlab-runner:
    image: gitlab/gitlab-runner:v14.9.2
    container_name: gitlab-runner
    restart: always
    networks:
      frontend:
        ipv4_address: 172.18.0.4
    ports:
      - "8094:8093"
    volumes:
      - /home/kevin/toto-ci/gitlab-runner:/etc/gitlab-runner
      - /var/run/docker.sock:/var/run/docker.sock

I would like to export some artifacts using the following snippet from my .gitlab-ci.yml

artifacts:
    name: "$CI_JOB_NAME"
    #public: false
    paths:
      - output/*-schematic.pdf
    expire_in: 1 hour

Unfortunately, uploading artifacts is crashing with the following error:

Uploading artifacts...
output/*-schematic.pdf: found 1 matching files and directories 
ERROR: Uploading artifacts as "archive" to coordinator... error  error=couldn't execute POST against http://172.18.0.2/api/v4/jobs/321/artifacts?artifact_format=zip&artifact_type=archive&expire_in=1+hour: Post "http://172.18.0.2/api/v4/jobs/321/artifacts?artifact_format=zip&artifact_type=archive&expire_in=1+hour": dial tcp 172.18.0.2:80: i/o timeout id=321 token=HQJ7Rh9y
WARNING: Retrying...                                context=artifacts-uploader error=invalid argument
ERROR: Uploading artifacts as "archive" to coordinator... error  error=couldn't execute POST against http://172.18.0.2/api/v4/jobs/321/artifacts?artifact_format=zip&artifact_type=archive&expire_in=1+hour: Post "http://172.18.0.2/api/v4/jobs/321/artifacts?artifact_format=zip&artifact_type=archive&expire_in=1+hour": dial tcp 172.18.0.2:80: i/o timeout id=321 token=HQJ7Rh9y
WARNING: Retrying...                                context=artifacts-uploader error=invalid argument
ERROR: Uploading artifacts as "archive" to coordinator... error  error=couldn't execute POST against http://172.18.0.2/api/v4/jobs/321/artifacts?artifact_format=zip&artifact_type=archive&expire_in=1+hour: Post "http://172.18.0.2/api/v4/jobs/321/artifacts?artifact_format=zip&artifact_type=archive&expire_in=1+hour": dial tcp 172.18.0.2:80: i/o timeout id=321 token=HQJ7Rh9y
FATAL: invalid argument                            
ERROR: Job failed: exit code 1

I’ve tried to upload the artifacts using the gitlab-runner binary file from my gitlab-runner container by forging the command by hand (token, pipeline id, etc …) and I still have the error but files are copied and I can download it from the UI.

From my gitlab.rb:

[...]
### Job Artifacts
gitlab_rails['artifacts_enabled'] = true
gitlab_rails['artifacts_path'] = "/var/opt/gitlab/gitlab-rails/shared/artifacts"
gitlab_rails['artifacts_object_store_enabled'] = false
gitlab_rails['artifacts_object_store_direct_upload'] = false
gitlab_rails['artifacts_object_store_background_upload'] = false
[...]

The configuration file of the runner (config.toml)

concurrent = 1
check_interval = 0
log_level = "debug"
log_format = "runner"

[session_server]
  session_timeout = 1800

[[runners]]
  name = "gitlab-runner"
  url = "http://172.18.0.2"
  token = "XXXXXXXXXXXXX"
  executor = "docker"
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false
    privileged = true
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/certs/client", "/cache"]
    shm_size = 0

Thanks by advance for your help,
Kevin