Merge branch 'fix_docker_caching' into structs_separate

This commit is contained in:
Dessalines 2020-09-02 16:53:46 -05:00
commit 88978077b5
5 changed files with 28 additions and 14 deletions

25
docker/dev/Dockerfile vendored
View file

@ -10,27 +10,36 @@ RUN yarn install --pure-lockfile
COPY ui /app/ui
RUN yarn build
FROM ekidd/rust-musl-builder:1.42.0-openssl11 as rust
FROM ekidd/rust-musl-builder:nightly-2020-05-07 as rust
# Cache deps
WORKDIR /app
RUN sudo chown -R rust:rust .
RUN USER=root cargo new server
# Install cargo-build-deps
RUN cargo install --git https://github.com/romac/cargo-build-deps.git
WORKDIR /app/server
RUN mkdir -p lemmy_db/src/ lemmy_utils/src/
# Copy the cargo tomls
COPY server/Cargo.toml server/Cargo.lock ./
COPY server/lemmy_db ./lemmy_db
COPY server/lemmy_utils ./lemmy_utils
RUN mkdir -p ./src/bin \
&& echo 'fn main() { println!("Dummy") }' > ./src/bin/main.rs
RUN cargo build
RUN find target/debug -type f -name "$(echo "lemmy_server" | tr '-' '_')*" -exec touch -t 200001010000 {} +
COPY server/lemmy_db/Cargo.toml ./lemmy_db/
COPY server/lemmy_utils/Cargo.toml ./lemmy_utils/
# Cache the deps
RUN cargo build-deps
# Copy the src folders
COPY server/src ./src/
COPY server/lemmy_db/src ./lemmy_db/src/
COPY server/lemmy_utils/src/ ./lemmy_utils/src/
COPY server/migrations ./migrations/
# Build for debug
RUN cargo build
FROM ekidd/rust-musl-builder:1.42.0-openssl11 as docs
FROM ekidd/rust-musl-builder:nightly-2020-05-07 as docs
WORKDIR /app
COPY docs ./docs
RUN sudo chown -R rust:rust .

View file

@ -3,9 +3,7 @@ version: '3.3'
services:
lemmy:
build:
context: ../../
dockerfile: docker/dev/Dockerfile
image: lemmy-dev:latest
ports:
- "8536:8536"
restart: always

View file

@ -1,7 +1,6 @@
#!/bin/sh
set -e
export COMPOSE_DOCKER_CLI_BUILD=1
export DOCKER_BUILDKIT=1
sudo chown -R 991:991 volumes/pictrs
sudo docker-compose up -d --no-deps --build
sudo docker build ../../ --file ../dev/Dockerfile -t lemmy-dev:latest
sudo docker-compose up -d

View file

@ -3,6 +3,10 @@ name = "lemmy_db"
version = "0.1.0"
edition = "2018"
[lib]
name = "lemmy_db"
path = "src/lib.rs"
[dependencies]
diesel = { version = "1.4.4", features = ["postgres","chrono","r2d2","64-column-tables","serde_json"] }
chrono = { version = "0.4.7", features = ["serde"] }

View file

@ -3,6 +3,10 @@ name = "lemmy_utils"
version = "0.1.0"
edition = "2018"
[lib]
name = "lemmy_utils"
path = "src/lib.rs"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]