apk

Primary endpoint

Use https://mirror.kargadan.ir/repository/alpine-proxy/ as the canonical baseurl in your client configuration.

1 archive

Primary archive only

A single proxy serves the entire distribution — no companion archives needed.

Anonymous

No sign-in required

Public read access over HTTPS. Plain HTTP is available for legacy clients that cannot validate the certificate.

Repository URL

Drop one of the URLs below into your client configuration. HTTPS is the right choice in almost every case.

HTTPS · recommended
https://mirror.kargadan.ir/repository/alpine-proxy/
HTTP · legacy clients only
http://mirror.kargadan.ir/repository/alpine-proxy/

Quick verification

Run this from any machine that can reach the mirror. It should complete in under a second once metadata is cached.

# Quick smoke test
curl -fsSL https://mirror.kargadan.ir/repository/alpine-proxy/v3.20/main/x86_64/APKINDEX.tar.gz \
  -o /dev/null -w 'HTTP %{http_code}  %{size_download}B\n'

Default client configuration

Drop this file at /etc/apk/repositories on the target host for the recommended default release (v3.20). See configuration by release for every supported suite.

# /etc/apk/repositories  (Alpine Linux 3.20)
# Replace upstream dl-cdn.alpinelinux.org with the Nexus raw proxy.

https://mirror.kargadan.ir/repository/alpine-proxy/v3.20/main
https://mirror.kargadan.ir/repository/alpine-proxy/v3.20/community
# Edge (rolling) — uncomment if needed
# https://mirror.kargadan.ir/repository/alpine-proxy/edge/main
# https://mirror.kargadan.ir/repository/alpine-proxy/edge/community
# https://mirror.kargadan.ir/repository/alpine-proxy/edge/testing

Configuration by release

Each block below is a complete, copy-ready configuration for one suite or release. Install path: /etc/apk/repositories. The same patterns are committed under /opt/client-configs/alpine/repositories on the mirror host (default release only).

Alpine 3.21 default

Quick verification

curl -fsSL https://mirror.kargadan.ir/repository/alpine-proxy/v3.21/main/x86_64/APKINDEX.tar.gz -o /dev/null -w 'HTTP %{http_code}\n'

Client configuration

# /etc/apk/repositories  (Alpine 3.21)

https://mirror.kargadan.ir/repository/alpine-proxy/v3.21/main
https://mirror.kargadan.ir/repository/alpine-proxy/v3.21/community

CI / container

FROM alpine:3.21
RUN sed -i 's|https://dl-cdn.alpinelinux.org/alpine|https://mirror.kargadan.ir/repository/alpine-proxy|' /etc/apk/repositories \
 && apk add --no-cache ca-certificates

Alpine 3.20

Quick verification

curl -fsSL https://mirror.kargadan.ir/repository/alpine-proxy/v3.20/main/x86_64/APKINDEX.tar.gz -o /dev/null -w 'HTTP %{http_code}\n'

Client configuration

# /etc/apk/repositories  (Alpine 3.20)

https://mirror.kargadan.ir/repository/alpine-proxy/v3.20/main
https://mirror.kargadan.ir/repository/alpine-proxy/v3.20/community

CI / container

FROM alpine:3.20
RUN sed -i 's|https://dl-cdn.alpinelinux.org/alpine|https://mirror.kargadan.ir/repository/alpine-proxy|' /etc/apk/repositories \
 && apk add --no-cache ca-certificates

Alpine 3.19

Quick verification

curl -fsSL https://mirror.kargadan.ir/repository/alpine-proxy/v3.19/main/x86_64/APKINDEX.tar.gz -o /dev/null -w 'HTTP %{http_code}\n'

Client configuration

# /etc/apk/repositories  (Alpine 3.19)

https://mirror.kargadan.ir/repository/alpine-proxy/v3.19/main
https://mirror.kargadan.ir/repository/alpine-proxy/v3.19/community

CI / container

FROM alpine:3.19
RUN sed -i 's|https://dl-cdn.alpinelinux.org/alpine|https://mirror.kargadan.ir/repository/alpine-proxy|' /etc/apk/repositories \
 && apk add --no-cache ca-certificates

Alpine 3.18

Quick verification

curl -fsSL https://mirror.kargadan.ir/repository/alpine-proxy/v3.18/main/x86_64/APKINDEX.tar.gz -o /dev/null -w 'HTTP %{http_code}\n'

Client configuration

# /etc/apk/repositories  (Alpine 3.18)

https://mirror.kargadan.ir/repository/alpine-proxy/v3.18/main
https://mirror.kargadan.ir/repository/alpine-proxy/v3.18/community

CI / container

FROM alpine:3.18
RUN sed -i 's|https://dl-cdn.alpinelinux.org/alpine|https://mirror.kargadan.ir/repository/alpine-proxy|' /etc/apk/repositories \
 && apk add --no-cache ca-certificates

Alpine edge (rolling) rolling

Quick verification

curl -fsSL https://mirror.kargadan.ir/repository/alpine-proxy/edge/main/x86_64/APKINDEX.tar.gz -o /dev/null -w 'HTTP %{http_code}\n'

Client configuration

# /etc/apk/repositories  (Alpine edge (rolling))

https://mirror.kargadan.ir/repository/alpine-proxy/edge/main
https://mirror.kargadan.ir/repository/alpine-proxy/edge/community

CI / container

FROM alpine:edge
RUN sed -i 's|https://dl-cdn.alpinelinux.org/alpine|https://mirror.kargadan.ir/repository/alpine-proxy|' /etc/apk/repositories \
 && apk add --no-cache ca-certificates

CI / container example

A minimal snippet you can paste into a Dockerfile or pipeline step.

# Dockerfile snippet
FROM alpine:3.20
RUN sed -i 's|https://dl-cdn.alpinelinux.org/alpine|https://mirror.kargadan.ir/repository/alpine-proxy|' /etc/apk/repositories \
 && apk add --no-cache ca-certificates

Mirror information

DistributionAlpine Linux
Package managerapk
Mirror format (Nexus)raw
Default suite / branchv3.20
AuthenticationNot required (anonymous read)
ProtocolsHTTPS · HTTP
Notes & limitations

Alpine's apk format is not natively recognised by Nexus, but the apk client only needs flat HTTP access to APKINDEX.tar.gz + .apk files, which the raw proxy provides without any index regeneration.