
* Refactored all the config files for Kavita to be loaded from config/. This will allow docker to just mount one folder and for Update functionality to be trivial. * Cleaned up documentation around new update method. * Updated docker files to support config directory * Removed entrypoint, no longer needed * Update appsettings to point to config directory for logs * Updated message for docker users that are upgrading * Ensure that docker users that have not updated their mount points from upgrade cannot start the server * Code smells * More cleanup * Added entrypoint to fix bind mount issues * Updated README with new folder structure * Fixed build system for new setup * Updated string path if user is docker * Updated the migration flow for docker to work properly and Fixed LogFile configuration updating. * Migrating docker images is now working 100% * Fixed config from bad code * Code cleanup Co-authored-by: Chris Plaatjes <kizaing@gmail.com>
33 lines
746 B
Docker
33 lines
746 B
Docker
#This Dockerfile creates a build for all architectures
|
|
|
|
#Image that copies in the files and passes them to the main image
|
|
FROM ubuntu:focal AS copytask
|
|
|
|
ARG TARGETPLATFORM
|
|
|
|
#Move the output files to where they need to be
|
|
RUN mkdir /files
|
|
COPY _output/*.tar.gz /files/
|
|
COPY UI/Web/dist /files/wwwroot
|
|
COPY copy_runtime.sh /copy_runtime.sh
|
|
RUN /copy_runtime.sh
|
|
|
|
#Production image
|
|
FROM ubuntu:focal
|
|
|
|
COPY --from=copytask /Kavita /kavita
|
|
COPY --from=copytask /files/wwwroot /kavita/wwwroot
|
|
|
|
#Installs program dependencies
|
|
RUN apt-get update \
|
|
&& apt-get install -y libicu-dev libssl1.1 libgdiplus \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
|
|
EXPOSE 5000
|
|
|
|
WORKDIR /kavita
|
|
|
|
ENTRYPOINT [ "/bin/bash" ]
|
|
CMD ["/entrypoint.sh"]
|