diff options
author | Dessalines <happydooby@gmail.com> | 2019-08-15 18:05:49 -0700 |
---|---|---|
committer | Dessalines <happydooby@gmail.com> | 2019-08-15 18:05:49 -0700 |
commit | 83d4e9840dfc68701fbd167b4dea7eee3191701d (patch) | |
tree | b56412855c98b6dc715b410dbbcc77d0ed53f370 /docker | |
parent | d662d7f8660f23360ceb3eb25b60180f8ab9473e (diff) |
Reorganizing docker compose files.
- Fixes #197
Diffstat (limited to 'docker')
-rw-r--r-- | docker/dev/Dockerfile | 50 | ||||
-rw-r--r-- | docker/dev/docker-compose.yml | 34 | ||||
-rwxr-xr-x | docker/docker_db_backup.sh | 1 | ||||
-rwxr-xr-x | docker/docker_update.sh | 5 | ||||
-rw-r--r-- | docker/prod/docker-compose.yml (renamed from docker/docker-compose.yml) | 0 |
5 files changed, 90 insertions, 0 deletions
diff --git a/docker/dev/Dockerfile b/docker/dev/Dockerfile new file mode 100644 index 00000000..0eb5f60d --- /dev/null +++ b/docker/dev/Dockerfile @@ -0,0 +1,50 @@ +FROM node:10-jessie as node +WORKDIR /app/ui + +# Cache deps +COPY ui/package.json ui/yarn.lock ./ +RUN yarn install --pure-lockfile + +# Build +COPY ui /app/ui +RUN yarn build + +FROM rust:latest as rust + +# Install musl +RUN apt-get update +RUN apt-get install musl-tools -y +RUN rustup target add x86_64-unknown-linux-musl + +# Cache deps +WORKDIR /app +RUN USER=root cargo new server +WORKDIR /app/server +COPY server/Cargo.toml server/Cargo.lock ./ +RUN mkdir -p ./src/bin \ + && echo 'fn main() { println!("Dummy") }' > ./src/bin/main.rs +RUN RUSTFLAGS=-Clinker=musl-gcc cargo build --release --target=x86_64-unknown-linux-musl +RUN rm -f ./target/x86_64-unknown-linux-musl/release/deps/lemmy_server* +COPY server/src ./src/ +COPY server/migrations ./migrations/ + +# build for release +RUN RUSTFLAGS=-Clinker=musl-gcc cargo build --frozen --release --target=x86_64-unknown-linux-musl + +# Get diesel-cli on there just in case +# RUN cargo install diesel_cli --no-default-features --features postgres + +FROM alpine:latest + +# Install libpq for postgres +RUN apk add libpq + +# Copy resources +COPY --from=rust /app/server/target/x86_64-unknown-linux-musl/release/lemmy_server /app/lemmy +COPY --from=node /app/ui/dist /app/dist +RUN addgroup -g 1000 lemmy +RUN adduser -D -s /bin/sh -u 1000 -G lemmy lemmy +RUN chown lemmy:lemmy /app/lemmy +USER lemmy +EXPOSE 8536 +CMD ["/app/lemmy"] diff --git a/docker/dev/docker-compose.yml b/docker/dev/docker-compose.yml new file mode 100644 index 00000000..b4daff61 --- /dev/null +++ b/docker/dev/docker-compose.yml @@ -0,0 +1,34 @@ +version: '2.4' + +services: + lemmy_db: + image: postgres:12-alpine + restart: always + environment: + POSTGRES_USER: rrr + POSTGRES_PASSWORD: rrr + POSTGRES_DB: rrr + volumes: + - lemmy_db:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U rrr"] + interval: 5s + timeout: 5s + retries: 20 + lemmy: + build: + context: ../../ + dockerfile: docker/dev/Dockerfile + ports: + - "8536:8536" + environment: + LEMMY_FRONT_END_DIR: /app/dist + DATABASE_URL: postgres://rrr:rrr@lemmy_db:5432/rrr + JWT_SECRET: changeme + HOSTNAME: rrr + restart: always + depends_on: + lemmy_db: + condition: service_healthy +volumes: + lemmy_db: diff --git a/docker/docker_db_backup.sh b/docker/docker_db_backup.sh new file mode 100755 index 00000000..d42826e0 --- /dev/null +++ b/docker/docker_db_backup.sh @@ -0,0 +1 @@ +docker exec -it dev_lemmy_db_1 pg_dumpall -c -U rrr > dump_`date +%Y-%m-%d"_"%H_%M_%S`.sql diff --git a/docker/docker_update.sh b/docker/docker_update.sh new file mode 100755 index 00000000..0891943f --- /dev/null +++ b/docker/docker_update.sh @@ -0,0 +1,5 @@ +#!/bin/sh +set -e + +git pull +docker-compose -f dev/docker-compose.yml up -d --no-deps --build diff --git a/docker/docker-compose.yml b/docker/prod/docker-compose.yml index 9db7bc2c..9db7bc2c 100644 --- a/docker/docker-compose.yml +++ b/docker/prod/docker-compose.yml |