RUN sudo chown -R rust:rust .
RUN USER=root cargo new server
WORKDIR /app/server
+RUN mkdir -p lemmy_db/src/ lemmy_utils/src/
COPY server/Cargo.toml server/Cargo.lock ./
-COPY server/lemmy_db ./lemmy_db
-COPY server/lemmy_utils ./lemmy_utils
+COPY server/lemmy_db/Cargo.toml ./lemmy_db/
+COPY server/lemmy_utils/Cargo.toml ./lemmy_utils/
RUN mkdir -p ./src/bin \
- && echo 'fn main() { println!("Dummy") }' > ./src/bin/main.rs
+ && echo 'fn main() { println!("Dummy") }' > ./src/bin/main.rs \
+ && cp ./src/bin/main.rs ./lemmy_db/src/main.rs \
+ && cp ./src/bin/main.rs ./lemmy_utils/src/main.rs
RUN cargo build
-RUN find target/debug -type f -name "$(echo "lemmy_server" | tr '-' '_')*" -exec touch -t 200001010000 {} +
+RUN rm -f ./target/x86_64-unknown-linux-musl/debug/deps/lemmy_server*
COPY server/src ./src/
+COPY server/lemmy_db ./lemmy_db/
+COPY server/lemmy_utils ./lemmy_utils/
COPY server/migrations ./migrations/
# Build for debug
RUN sudo chown -R rust:rust .
RUN USER=root cargo new server
WORKDIR /app/server
+RUN mkdir -p lemmy_db/src/ lemmy_utils/src/
COPY server/Cargo.toml server/Cargo.lock ./
-COPY server/lemmy_db ./lemmy_db
-COPY server/lemmy_utils ./lemmy_utils
+COPY server/lemmy_db/Cargo.toml ./lemmy_db/
+COPY server/lemmy_utils/Cargo.toml ./lemmy_utils/
RUN mkdir -p ./src/bin \
- && echo 'fn main() { println!("Dummy") }' > ./src/bin/main.rs
+ && echo 'fn main() { println!("Dummy") }' > ./src/bin/main.rs \
+ && cp ./src/bin/main.rs ./lemmy_db/src/main.rs \
+ && cp ./src/bin/main.rs ./lemmy_utils/src/main.rs
RUN cargo build --release
RUN find target/$CARGO_BUILD_TARGET/$RUSTRELEASEDIR -type f -name "$(echo "lemmy_server" | tr '-' '_')*" -exec touch -t 200001010000 {} +
COPY server/src ./src/
+COPY server/lemmy_db ./lemmy_db/
+COPY server/lemmy_utils ./lemmy_utils/
COPY server/migrations ./migrations/
# build for release