No description
- Dockerfile 57.8%
- Shell 42.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
docker / build-push (push) Successful in 23m21s
- База — ALT Sisyphus (rolling) из registry.basealt.ru - Go 1.27.1 детерминированно через golang.org/dl; /usr/bin/go и gofmt — симлинки на SDK - python3, pip, git, curl; glibc-pthread (librt для manylinux-колёс) - Платформы: amd64, arm64, 386, loong64, riscv64 - Публикация тегов latest и 1.1 (версионный — для пиннинга CI-воркфлоу) |
||
| .forgejo/workflows | ||
| files | ||
| .dockerignore | ||
| Dockerfile | ||
| README.md | ||
base
Базовый образ на ALT Sisyphus (rolling, из registry.basealt.ru) для сборки и запуска Go-приложений. Платформы: linux/amd64, linux/arm64, linux/386, linux/loong64, linux/riscv64.
Состав
- golang 1.27.1 — официальная сборка через
golang.org/dl; версия зафиксирована в Dockerfile (GO_VERSION) и не зависит от состояния репозитория - python3 + pip — системные интерпретатор и пакетный менеджер
- glibc-pthread — заглушки librt/libpthread для бинарных manylinux-колёс
- tzdata с таймзоной
Europe/Moscowпо умолчанию - ca-certificates + ca-certificates-digital.gov.ru (Russian Trusted Root CA)
- симлинк бандла в
/etc/ssl/certs/ca-certificates.crt— стандартный путь поиска корней для Go (crypto/x509), Python и другого ПО; иначе бандл ALT игнорируется - su-exec для запуска процессов от непривилегированного пользователя
Поведение
ENTRYPOINT /init.sh— настраивает таймзону (TIME_ZONE), опционально меняет UID пользователяapp(APP_UID), выполняет/srv/init.shпри его наличии и запускает команду от пользователяapp.WORKDIR /srv, данные приложения кладите в/srvили/data.
Использование
FROM gitrepo.ru/neonxp/base:latest
COPY app /srv/app
CMD ["/srv/app"]
Сборка внутри образа (в multi-stage builder-этапе):
FROM gitrepo.ru/neonxp/base:latest AS builder
WORKDIR /src
COPY . .
RUN go build -o /srv/app .
Сборка и публикация
Публикуются теги latest и версионный 1.1 (для пиннинга в CI — раннер кэширует
образы по тегу, поэтому версионируйте при обновлении):
docker build -t gitrepo.ru/neonxp/base:latest .
docker push gitrepo.ru/neonxp/base:latest
CI (.forgejo/workflows/docker.yml) собирает и пушит мультиархитектурный latest
(amd64, arm64, 386, loong64, riscv64 — не-амд64 под QEMU) в registry gitrepo.ru.
Нужен секрет репозитория REGISTRY_TOKEN — токен forgejo со скоупом write:package.