Improve dev Dockerfile (#1333)
authorKyâne Pichou <kyane@kyane.fr>
Mon, 22 Oct 2018 12:37:40 +0000 (14:37 +0200)
committerChocobozzz <me@florianbigard.com>
Mon, 22 Oct 2018 12:37:40 +0000 (14:37 +0200)
* Improve dev Dockerfile

Use Docker best-practices for the development Dockerfile. Save 3Mo.

* Update support/docker/dev/Dockerfile

Co-Authored-By: pichouk <kyane@kyane.fr>
support/docker/dev/Dockerfile

index aa4a8a3d6340ae592dc61a6f9dfaa3892cc62cfc..8e049f3f6a1390ba9214d646ddff35df044ce177 100644 (file)
@@ -6,43 +6,41 @@ ENV DEBIAN_FRONTEND=noninteractive
 # Install PeerTube's dependencies.
 # Packages are from https://github.com/Chocobozzz/PeerTube#dependencies
 RUN apt-get update -q && apt-get install -qy \
- curl \
- nano \
- ffmpeg \
- postgresql \
- postgresql-contrib \
- openssl \
- g++ \
- make \
- redis-server \
- git \
- gnupg
-
-# Install NodeJS 8.x
-RUN curl -sL https://deb.nodesource.com/setup_8.x | bash - && \
- apt-get install -y nodejs
-
-# Install Yarn
-RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
- echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
- apt-get update && apt-get install yarn
+      curl \
+      ffmpeg \
+      g++ \
+      git \
+      gnupg \
+      make \
+      nano \
+      openssl \
+      postgresql \
+      postgresql-contrib \
+      redis-server \
+    && curl -sL https://deb.nodesource.com/setup_8.x | bash - \
+    && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
+    && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
+    && apt-get update \
+    && apt-get install -qy nodejs yarn \
+    && rm -rf /var/lib/apt/lists/*
 
 # Download PeerTube's source code.
 RUN git clone -b develop https://github.com/Chocobozzz/PeerTube /home/user/PeerTube
 WORKDIR /home/user/PeerTube
 
-# Install dependencies.
-RUN yarn install --pure-lockfile
-
-# Configure and run PeerTube.
+# Copy postgresql setup script
 COPY setup_postgres.sql /tmp/
-RUN service postgresql start \
- && su postgres -c "psql --file=/tmp/setup_postgres.sql"
+
+# Install Node.js dependencies and setup PostgreSQL
+RUN yarn install --pure-lockfile \
+    && service postgresql start \
+    && su postgres -c "psql --file=/tmp/setup_postgres.sql"
 
 # Expose PeerTube sources as a volume
 VOLUME /home/user/PeerTube
 
+# Expose API and frontend
 EXPOSE 3000 9000
 
 # Start PostgreSQL and Redis
-CMD service postgresql start && redis-server
+CMD ["service postgresql start && redis-server"]