summaryrefslogtreecommitdiffstats
path: root/docker
diff options
context:
space:
mode:
authorDessalines <happydooby@gmail.com>2019-08-15 18:05:49 -0700
committerDessalines <happydooby@gmail.com>2019-08-15 18:05:49 -0700
commit83d4e9840dfc68701fbd167b4dea7eee3191701d (patch)
treeb56412855c98b6dc715b410dbbcc77d0ed53f370 /docker
parentd662d7f8660f23360ceb3eb25b60180f8ab9473e (diff)
Reorganizing docker compose files.
- Fixes #197
Diffstat (limited to 'docker')
-rw-r--r--docker/dev/Dockerfile50
-rw-r--r--docker/dev/docker-compose.yml34
-rwxr-xr-xdocker/docker_db_backup.sh1
-rwxr-xr-xdocker/docker_update.sh5
-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