diff --git a/.drone.yml b/.drone.yml index 0c1498e..38f7423 100644 --- a/.drone.yml +++ b/.drone.yml @@ -2,13 +2,19 @@ kind: pipeline type: docker name: cannery -cache: - mount: - - _build - - deps - - ~/.cache/dialyzer/plts/ - steps: +- name: restore-cache + image: drillster/drone-volume-cache + volumes: + - name: cache + path: /cache + settings: + restore: true + mount: + - _build + - deps + - ~/.cache/dialyzer/plts/ + - name: test image: bitwalker/alpine-elixir-phoenix:1.13 environment: @@ -31,10 +37,21 @@ steps: password: from_secret: docker_password when: - branch: - include: + branch: - stable +- name: rebuild-cache + image: drillster/drone-volume-cache + volumes: + - name: cache + path: /cache + settings: + rebuild: true + mount: + - _build + - deps + - ~/.cache/dialyzer/plts/ + services: - name: database image: postgres:13 @@ -44,6 +61,9 @@ services: POSTGRES_DB: postgres volumes: + - name: cache + host: + path: /tmp/drone-cache - name: docker_sock host: path: /var/run/docker.sock diff --git a/Dockerfile b/Dockerfile index f887792..0ad8456 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,6 +47,7 @@ USER nobody:nobody COPY --from=build --chown=nobody:nobody /app/_build/prod/rel/cannery ./ COPY --from=build --chown=nobody:nobody /app/priv /app/priv +RUN chmod +x /app/priv/random.sh ENV HOME=/app diff --git a/README.md b/README.md index a0e28f5..2d5965c 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ The self-hosted firearm tracker website. 1. Copy the example [docker-compose.yml](https://gitea.bubbletea.dev/shibao/cannery/src/branch/stable/docker-compose.yml). into your local machine where you want. Bind mounts are created in the same directory by default. 1. Set the configuration variables in `docker-compose.yml`. You'll need to run - `docker run -it shibaobun/cannery mix phx.gen.secret` to generate a new + `docker run -it shibaobun/cannery /app/priv/random.sh` to generate a new secret key base. 1. Use `docker-compose up` or `docker-compose up -d` to start the container! diff --git a/docker-compose.yml b/docker-compose.yml index dffd4b9..8f4ede1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,7 +8,7 @@ services: environment: - HOST="your.domain.com" - DATABASE_URL="ecto://postgres:postgres@cannery-db/cannery" - # Use `docker run -it shibaobun/cannery mix phx.gen.secret` to generate a secret key base + # Use `docker run -it shibaobun/cannery /app/priv/random.sh` to generate a secret key base - SECRET_KEY_BASE="change-me-this-is-really-important-seriously-change-it" # uncomment to enable public sign ups, not recommended # - REGISTRATION="public" diff --git a/priv/random.sh b/priv/random.sh new file mode 100644 index 0000000..1834f3e --- /dev/null +++ b/priv/random.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +set -ou pipefail + +cat /dev/urandom | base64 | head -c 64