Files
2026-10-22 13:03:12 +02:00

73 lines
2.6 KiB
YAML

services:
rust-package-builder:
build:
context: .
args:
FREEBSD_RELEASE: "${FREEBSD_RELEASE:-15.1-RELEASE}"
FREEBSD_RUST_TOOLCHAIN: "${FREEBSD_RUST_TOOLCHAIN:-1.88.0}"
image: linuxiarz/rust-package-builder:latest
environment:
SOURCE_REPO: "${SOURCE_REPO:?SOURCE_REPO is required}"
SOURCE_BRANCH: "${SOURCE_BRANCH:-master}"
REPOSITORY_URL: "${REPOSITORY_URL:?REPOSITORY_URL is required}"
OPNSENSE_REPOSITORY_URL: "${OPNSENSE_REPOSITORY_URL:?OPNSENSE_REPOSITORY_URL is required}"
POLL_INTERVAL: "${POLL_INTERVAL:-300}"
REPO_DISTRIBUTION: "${REPO_DISTRIBUTION:-stable}"
REPO_COMPONENT: "${REPO_COMPONENT:-main}"
PACKAGE_RELEASE: "${PACKAGE_RELEASE:-auto}"
MAX_GLIBC_VERSION: "${MAX_GLIBC_VERSION:-2.34}"
KEEP_WORKSPACE: "${KEEP_WORKSPACE:-0}"
OPNSENSE_ABI: "${OPNSENSE_ABI:-26.7}"
OPNSENSE_RETENTION: "${OPNSENSE_RETENTION:-10}"
FREEBSD_RELEASE: "${FREEBSD_RELEASE:-15.1-RELEASE}"
FREEBSD_ABI: "${FREEBSD_ABI:-FreeBSD:15:amd64}"
FREEBSD_ARCH: "${FREEBSD_ARCH:-freebsd:15:x86:64}"
FREEBSD_RUST_TOOLCHAIN: "${FREEBSD_RUST_TOOLCHAIN:-1.88.0}"
APPLY_FREEBSD_PATCHES: "${APPLY_FREEBSD_PATCHES:-1}"
RUN_LINUX_TESTS: "${RUN_LINUX_TESTS:-1}"
FREEBSD_NATIVE_ENABLED: "${FREEBSD_NATIVE_ENABLED:-1}"
FREEBSD_NATIVE_RETENTION: "${FREEBSD_NATIVE_RETENTION:-10}"
volumes:
- ./data:/var/lib/package-builder
- ./gpg:/run/secrets/gpg:ro
restart: unless-stopped
repository-dashboard:
build:
context: ./dashboard
image: rustproxy/repository-dashboard:local
environment:
REPOSITORY_ROOT: /srv/repository
REPOSITORY_URL: "${REPOSITORY_URL:?REPOSITORY_URL is required}"
OPNSENSE_REPOSITORY_URL: "${OPNSENSE_REPOSITORY_URL:?OPNSENSE_REPOSITORY_URL is required}"
REPO_DISTRIBUTION: "${REPO_DISTRIBUTION:-stable}"
REPO_COMPONENT: "${REPO_COMPONENT:-main}"
volumes:
- ./data/repository:/srv/repository:ro
read_only: true
cap_drop:
- ALL
security_opt:
- no-new-privileges:true
restart: unless-stopped
repository-http:
depends_on:
- repository-dashboard
image: nginxinc/nginx-unprivileged:stable-alpine-slim
ports:
- "0.0.0.0:${HTTP_PORT:-18765}:8080"
- "0.0.0.0:${OPNSENSE_HTTP_PORT:-18766}:8081"
volumes:
- ./data/repository:/srv/repository:ro
- ./http/nginx.conf:/etc/nginx/nginx.conf:ro
entrypoint: ["nginx", "-g", "daemon off;"]
read_only: true
tmpfs:
- /tmp:rw,noexec,nosuid,size=16m
cap_drop:
- ALL
security_opt:
- no-new-privileges:true
restart: unless-stopped