mirror of
https://codeberg.org/Toasterson/ips.git
synced 2026-04-10 13:20:42 +00:00
feat: Add Docker deployment for pkg.solstice-ci.org
Multi-stage Dockerfile (rust builder + debian-slim runtime), docker-compose, and container-specific pkg6depotd config. Signed-off-by: Till Wegmueller <toasterson@gmail.com>
This commit is contained in:
parent
e83f2b7284
commit
6865996190
5 changed files with 73 additions and 0 deletions
8
.dockerignore
Normal file
8
.dockerignore
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
target/
|
||||
repo/
|
||||
artifacts/
|
||||
.git/
|
||||
.idea/
|
||||
.vagrant/
|
||||
sample_data/
|
||||
*.md
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -92,3 +92,5 @@ sample_data
|
|||
|
||||
.vagrant
|
||||
/.output.txt
|
||||
/repo/
|
||||
/artifacts/
|
||||
|
|
|
|||
31
Dockerfile
Normal file
31
Dockerfile
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
# Stage 1: Build
|
||||
FROM rust:1-bookworm AS builder
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
build-essential \
|
||||
pkg-config \
|
||||
libssl-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /build
|
||||
COPY . .
|
||||
|
||||
RUN cargo build --release -p pkg6depotd -p pkg6repo
|
||||
|
||||
# Stage 2: Runtime
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
ca-certificates \
|
||||
libssl3 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --from=builder /build/target/release/pkg6depotd /usr/local/bin/
|
||||
COPY --from=builder /build/target/release/pkg6repo /usr/local/bin/
|
||||
COPY docker/pkg6depotd.kdl /etc/pkg6depotd.kdl
|
||||
|
||||
RUN mkdir -p /var/pkg/repo
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
ENTRYPOINT ["pkg6depotd", "--config", "/etc/pkg6depotd.kdl", "--no-daemon"]
|
||||
18
docker-compose.yml
Normal file
18
docker-compose.yml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
services:
|
||||
pkg6depotd:
|
||||
build: .
|
||||
container_name: pkg6depotd
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./repo:/var/pkg/repo:ro
|
||||
expose:
|
||||
- "8080"
|
||||
environment:
|
||||
- VIRTUAL_HOST=pkg.solstice-ci.org
|
||||
- VIRTUAL_PORT=8080
|
||||
networks:
|
||||
- solstice-ci_core
|
||||
|
||||
networks:
|
||||
solstice-ci_core:
|
||||
external: true
|
||||
14
docker/pkg6depotd.kdl
Normal file
14
docker/pkg6depotd.kdl
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
server {
|
||||
bind "0.0.0.0:8080"
|
||||
workers 4
|
||||
}
|
||||
|
||||
repository {
|
||||
root "/var/pkg/repo"
|
||||
mode "readonly"
|
||||
}
|
||||
|
||||
telemetry {
|
||||
service-name "pkg6depotd"
|
||||
log-format "json"
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue