fix docker permissions #61

closed
opened by knotbin.com targeting master from [deleted fork]: master

docker: fix permissions errors for db

Changed files
+12 -3
docker
+8 -2
docker/Dockerfile
··· 2 2 3 3 ENV CGO_ENABLED=1 4 4 5 + USER root 6 + 5 7 RUN apk add --no-cache gcc musl-dev 6 8 7 9 WORKDIR /usr/src/app ··· 34 36 adduser --disabled-password git && \ 35 37 # We need to set password anyway since otherwise ssh won't work 36 38 head -c 32 /dev/random | base64 | tr -dc 'a-zA-Z0-9' | passwd git --stdin && \ 37 - mkdir /app && mkdir /home/git/repositories 39 + mkdir -p /app && mkdir -p /home/git/repositories 38 40 39 41 COPY --from=build /usr/local/bin/knotserver /usr/local/bin 40 42 COPY --from=build /usr/local/bin/keyfetch /usr/local/libexec/tangled-keyfetch ··· 44 46 RUN chown root:root /usr/local/libexec/tangled-keyfetch && \ 45 47 chmod 755 /usr/local/libexec/tangled-keyfetch && \ 46 48 chown git:git /home/git/repoguard && \ 47 - chown git:git /app && chown git:git /home/git/repositories 49 + chown -R git:git /app && chmod -R 755 /app && \ 50 + chown -R git:git /home/git/repositories 51 + 52 + # Create an empty database file with correct permissions 53 + RUN touch /app/knotserver.db && chown git:git /app/knotserver.db && chmod 644 /app/knotserver.db 48 54 49 55 EXPOSE 22 50 56 EXPOSE 5555
+4 -1
docker/docker-compose.yml
··· 11 11 volumes: 12 12 - "./keys:/etc/ssh/keys" 13 13 - "./repositories:/home/git/repositories" 14 - - "./server:/app" 14 + - db_data:/app 15 15 ports: 16 16 - "5555:5555" 17 17 - "2222:22" 18 + 19 + volumes: 20 + db_data: