- scripts/deploy-voip.sh: full Hetzner cx23 + Docker + CF DNS deploy --create: provision VPS, install Docker --dns: update CF A + AAAA records --deploy: upload source, docker compose up --test: 6 HTTP checks + TLS + IPv6 --all: end-to-end in one command - Dockerfiles: use rust:latest (time crate needs 1.88+) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
26 lines
882 B
Docker
26 lines
882 B
Docker
# WZP relay + web bridge — multi-stage build
|
|
# Build context: featherChat repo root (../../..)
|
|
FROM rust:latest AS builder
|
|
|
|
WORKDIR /build
|
|
|
|
# Copy warzone-phone workspace
|
|
COPY warzone-phone/Cargo.toml warzone-phone/Cargo.lock ./warzone-phone/
|
|
COPY warzone-phone/crates ./warzone-phone/crates
|
|
|
|
# wzp-crypto depends on warzone-protocol via deps/featherchat/warzone/...
|
|
COPY warzone/crates/warzone-protocol ./warzone-phone/deps/featherchat/warzone/crates/warzone-protocol
|
|
|
|
# Build both binaries
|
|
WORKDIR /build/warzone-phone
|
|
RUN cargo build --release --bin wzp-relay --bin wzp-web
|
|
|
|
# Runtime
|
|
FROM debian:bookworm-slim
|
|
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY --from=builder /build/warzone-phone/target/release/wzp-relay /usr/local/bin/
|
|
COPY --from=builder /build/warzone-phone/target/release/wzp-web /usr/local/bin/
|
|
|
|
WORKDIR /data
|