fix(docker): sync Dockerfile with v2 workspace, add production env and volume docs
This commit is contained in:
@@ -17,13 +17,10 @@ COPY crates/quicproquo-proto/Cargo.toml crates/quicproquo-proto/Cargo.toml
|
|||||||
COPY crates/quicproquo-server/Cargo.toml crates/quicproquo-server/Cargo.toml
|
COPY crates/quicproquo-server/Cargo.toml crates/quicproquo-server/Cargo.toml
|
||||||
COPY crates/quicproquo-client/Cargo.toml crates/quicproquo-client/Cargo.toml
|
COPY crates/quicproquo-client/Cargo.toml crates/quicproquo-client/Cargo.toml
|
||||||
COPY crates/quicproquo-p2p/Cargo.toml crates/quicproquo-p2p/Cargo.toml
|
COPY crates/quicproquo-p2p/Cargo.toml crates/quicproquo-p2p/Cargo.toml
|
||||||
COPY crates/quicproquo-bot/Cargo.toml crates/quicproquo-bot/Cargo.toml
|
|
||||||
COPY crates/quicproquo-gen/Cargo.toml crates/quicproquo-gen/Cargo.toml
|
|
||||||
COPY crates/quicproquo-kt/Cargo.toml crates/quicproquo-kt/Cargo.toml
|
COPY crates/quicproquo-kt/Cargo.toml crates/quicproquo-kt/Cargo.toml
|
||||||
COPY crates/quicproquo-plugin-api/Cargo.toml crates/quicproquo-plugin-api/Cargo.toml
|
COPY crates/quicproquo-plugin-api/Cargo.toml crates/quicproquo-plugin-api/Cargo.toml
|
||||||
COPY crates/quicproquo-gui/Cargo.toml crates/quicproquo-gui/Cargo.toml
|
COPY crates/quicproquo-rpc/Cargo.toml crates/quicproquo-rpc/Cargo.toml
|
||||||
COPY crates/quicproquo-mobile/Cargo.toml crates/quicproquo-mobile/Cargo.toml
|
COPY crates/quicproquo-sdk/Cargo.toml crates/quicproquo-sdk/Cargo.toml
|
||||||
COPY crates/quicproquo-ffi/Cargo.toml crates/quicproquo-ffi/Cargo.toml
|
|
||||||
|
|
||||||
# Create dummy source files so `cargo build` can resolve the dependency graph
|
# Create dummy source files so `cargo build` can resolve the dependency graph
|
||||||
# and cache the compiled dependencies before copying real source.
|
# and cache the compiled dependencies before copying real source.
|
||||||
@@ -33,25 +30,19 @@ RUN mkdir -p \
|
|||||||
crates/quicproquo-server/src \
|
crates/quicproquo-server/src \
|
||||||
crates/quicproquo-client/src \
|
crates/quicproquo-client/src \
|
||||||
crates/quicproquo-p2p/src \
|
crates/quicproquo-p2p/src \
|
||||||
crates/quicproquo-bot/src \
|
|
||||||
crates/quicproquo-gen/src \
|
|
||||||
crates/quicproquo-kt/src \
|
crates/quicproquo-kt/src \
|
||||||
crates/quicproquo-plugin-api/src \
|
crates/quicproquo-plugin-api/src \
|
||||||
crates/quicproquo-gui/src \
|
crates/quicproquo-rpc/src \
|
||||||
crates/quicproquo-mobile/src \
|
crates/quicproquo-sdk/src \
|
||||||
crates/quicproquo-ffi/src \
|
|
||||||
&& echo 'fn main() {}' > crates/quicproquo-server/src/main.rs \
|
&& echo 'fn main() {}' > crates/quicproquo-server/src/main.rs \
|
||||||
&& echo 'fn main() {}' > crates/quicproquo-client/src/main.rs \
|
&& echo 'fn main() {}' > crates/quicproquo-client/src/main.rs \
|
||||||
&& echo 'fn main() {}' > crates/quicproquo-gen/src/main.rs \
|
|
||||||
&& echo 'fn main() {}' > crates/quicproquo-bot/src/main.rs \
|
|
||||||
&& touch crates/quicproquo-core/src/lib.rs \
|
&& touch crates/quicproquo-core/src/lib.rs \
|
||||||
&& touch crates/quicproquo-proto/src/lib.rs \
|
&& touch crates/quicproquo-proto/src/lib.rs \
|
||||||
&& touch crates/quicproquo-p2p/src/lib.rs \
|
&& touch crates/quicproquo-p2p/src/lib.rs \
|
||||||
&& touch crates/quicproquo-kt/src/lib.rs \
|
&& touch crates/quicproquo-kt/src/lib.rs \
|
||||||
&& touch crates/quicproquo-plugin-api/src/lib.rs \
|
&& touch crates/quicproquo-plugin-api/src/lib.rs \
|
||||||
&& touch crates/quicproquo-gui/src/lib.rs \
|
&& touch crates/quicproquo-rpc/src/lib.rs \
|
||||||
&& touch crates/quicproquo-mobile/src/lib.rs \
|
&& touch crates/quicproquo-sdk/src/lib.rs
|
||||||
&& touch crates/quicproquo-ffi/src/lib.rs
|
|
||||||
|
|
||||||
# Schemas must exist before the proto crate's build.rs runs.
|
# Schemas must exist before the proto crate's build.rs runs.
|
||||||
COPY schemas/ schemas/
|
COPY schemas/ schemas/
|
||||||
@@ -69,6 +60,8 @@ RUN touch \
|
|||||||
crates/quicproquo-p2p/src/lib.rs \
|
crates/quicproquo-p2p/src/lib.rs \
|
||||||
crates/quicproquo-kt/src/lib.rs \
|
crates/quicproquo-kt/src/lib.rs \
|
||||||
crates/quicproquo-plugin-api/src/lib.rs \
|
crates/quicproquo-plugin-api/src/lib.rs \
|
||||||
|
crates/quicproquo-rpc/src/lib.rs \
|
||||||
|
crates/quicproquo-sdk/src/lib.rs \
|
||||||
crates/quicproquo-server/src/main.rs \
|
crates/quicproquo-server/src/main.rs \
|
||||||
crates/quicproquo-client/src/main.rs
|
crates/quicproquo-client/src/main.rs
|
||||||
|
|
||||||
@@ -95,11 +88,17 @@ RUN groupadd --system qpq \
|
|||||||
|
|
||||||
EXPOSE 7000
|
EXPOSE 7000
|
||||||
|
|
||||||
|
# Persistent data volume: TLS certs, SQLCipher DB, delivery queues, KT log.
|
||||||
|
# Mount a named volume or host path here for data persistence across restarts:
|
||||||
|
# docker run -v qpq-data:/var/lib/quicproquo ...
|
||||||
|
VOLUME ["/var/lib/quicproquo"]
|
||||||
|
|
||||||
ENV RUST_LOG=info \
|
ENV RUST_LOG=info \
|
||||||
QPQ_LISTEN=0.0.0.0:7000 \
|
QPQ_LISTEN=0.0.0.0:7000 \
|
||||||
QPQ_DATA_DIR=/var/lib/quicproquo \
|
QPQ_DATA_DIR=/var/lib/quicproquo \
|
||||||
QPQ_TLS_CERT=/var/lib/quicproquo/server-cert.der \
|
QPQ_TLS_CERT=/var/lib/quicproquo/server-cert.der \
|
||||||
QPQ_TLS_KEY=/var/lib/quicproquo/server-key.der
|
QPQ_TLS_KEY=/var/lib/quicproquo/server-key.der \
|
||||||
|
QPQ_PRODUCTION=true
|
||||||
|
|
||||||
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
|
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
|
||||||
CMD test -f /var/lib/quicproquo/server-cert.der || exit 1
|
CMD test -f /var/lib/quicproquo/server-cert.der || exit 1
|
||||||
|
|||||||
Reference in New Issue
Block a user