From 934d685e8609db1a681408557d8f3ebfb5be2686 Mon Sep 17 00:00:00 2001 From: kermieisinthehouse Date: Mon, 1 Nov 2021 17:39:53 -0700 Subject: [PATCH] Small docker cleanup (#1941) --- docker/build/x86_64/README.md | 4 ++-- docker/ci/x86_64/Dockerfile | 2 +- docker/production/README.md | 20 ++++++++++---------- docker/production/x86_64/Dockerfile | 27 --------------------------- 4 files changed, 13 insertions(+), 40 deletions(-) delete mode 100644 docker/production/x86_64/Dockerfile diff --git a/docker/build/x86_64/README.md b/docker/build/x86_64/README.md index 3590c3e59..f21253b0f 100644 --- a/docker/build/x86_64/README.md +++ b/docker/build/x86_64/README.md @@ -1,13 +1,13 @@ # Introduction -This dockerfile is used to build a stash docker container using the current source code. +This dockerfile is used to build a stash docker container using the current source code. This is ideal for testing your current branch in docker. Note that it does not include python, so python-based scrapers will not work in this image. The production docker images distributed by the project contain python and the necessary packages. # Building the docker container From the top-level directory (should contain `main.go` file): ``` -docker build -t stash/build -f ./docker/build/x86_64/Dockerfile . +make docker-build ``` diff --git a/docker/ci/x86_64/Dockerfile b/docker/ci/x86_64/Dockerfile index 33cf4e269..9fbe89e81 100644 --- a/docker/ci/x86_64/Dockerfile +++ b/docker/ci/x86_64/Dockerfile @@ -11,7 +11,7 @@ RUN if [ "$TARGETPLATFORM" = "linux/arm/v6" ]; then BIN=stash-pi; \ FROM --platform=$TARGETPLATFORM alpine:latest AS app COPY --from=binary /stash /usr/bin/ -RUN apk add --no-cache ca-certificates python3 py3-requests py3-requests-toolbelt py3-lxml py3-pip ffmpeg vips-tools && pip install mechanicalsoup cloudscraper +RUN apk add --no-cache ca-certificates python3 py3-requests py3-requests-toolbelt py3-lxml py3-pip ffmpeg vips-tools && pip install --no-cache-dir mechanicalsoup cloudscraper ENV STASH_CONFIG_FILE=/root/.stash/config.yml EXPOSE 9999 diff --git a/docker/production/README.md b/docker/production/README.md index 40fe157bc..9744e6708 100644 --- a/docker/production/README.md +++ b/docker/production/README.md @@ -7,16 +7,6 @@ Only `docker` and `docker-compose` are required. For the most part your understa Installation instructions are available below, and if your distrobution's repository ships a current version of docker, you may use that. https://docs.docker.com/engine/install/ -### Docker -Docker is effectively a cross-platform software package repository. It allows you to ship an entire environment in what's referred to as a container. Containers are intended to hold everything that is needed to run an application from one place to another, making it easy for everyone along the way to reproduce the environment. - -The StashApp docker container ships with everything you need to automatically build and run stash, including ffmpeg. - -### docker-compose -Docker Compose lets you specify how and where to run your containers, and to manage their environment. The docker-compose.yml file in this folder gets you a fully working instance of StashApp exactly as you would need it to have a reasonable instance for testing / developing on. If you are deploying a live instance for production, a reverse proxy (such as NGINX or Traefik) is recommended, but not required. - -The latest version is always recommended. - ### Get the docker-compose.yml file Now you can either navigate to the [docker-compose.yml](https://raw.githubusercontent.com/stashapp/stash/master/docker/production/docker-compose.yml) in the repository, or if you have curl, you can make your Linux console do it for you: @@ -35,3 +25,13 @@ docker-compose up -d Installing StashApp this way will by default bind stash to port 9999. This is available in your web browser locally at http://localhost:9999 or on your network as http://YOUR-LOCAL-IP:9999 Good luck and have fun! + +### Docker +Docker is effectively a cross-platform software package repository. It allows you to ship an entire environment in what's referred to as a container. Containers are intended to hold everything that is needed to run an application from one place to another, making it easy for everyone along the way to reproduce the environment. + +The StashApp docker container ships with everything you need to automatically build and run stash, including ffmpeg. + +### docker-compose +Docker Compose lets you specify how and where to run your containers, and to manage their environment. The docker-compose.yml file in this folder gets you a fully working instance of StashApp exactly as you would need it to have a reasonable instance for testing / developing on. If you are deploying a live instance for production, a reverse proxy (such as NGINX or Traefik) is recommended, but not required. + +The latest version is always recommended. diff --git a/docker/production/x86_64/Dockerfile b/docker/production/x86_64/Dockerfile deleted file mode 100644 index 607cd1fbb..000000000 --- a/docker/production/x86_64/Dockerfile +++ /dev/null @@ -1,27 +0,0 @@ -FROM ubuntu:20.04 as prep -LABEL MAINTAINER="https://discord.gg/2TsNFKt" - -RUN apt-get update && \ - apt-get -y install curl xz-utils && \ - apt-get autoclean -y && \ - rm -rf /var/lib/apt/lists/* -WORKDIR / -SHELL ["/bin/bash", "-o", "pipefail", "-c"] - -# added " to end of stash-linux clause so that it doesn't pick up the arm builds -RUN curl -L -o /stash $(curl -s https://api.github.com/repos/stashapp/stash/releases/latest | awk '/browser_download_url/ && /stash-linux/"' | sed -e 's/.*: "\(.*\)"/\1/') && \ - chmod +x /stash - -RUN curl --http1.1 -o /ffmpeg.tar.xz https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz && \ - tar xf /ffmpeg.tar.xz && \ - rm ffmpeg.tar.xz && \ - mv /ffmpeg*/ /ffmpeg/ - -FROM ubuntu:20.04 as app -RUN apt-get update && apt-get -y install ca-certificates -COPY --from=prep /stash /ffmpeg/ffmpeg /ffmpeg/ffprobe /usr/bin/ - -ENV STASH_CONFIG_FILE=/root/.stash/config.yml - -EXPOSE 9999 -CMD ["stash"]