aboutsummaryrefslogtreecommitdiffhomepage
path: root/support/docker/dev/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'support/docker/dev/Dockerfile')
-rw-r--r--support/docker/dev/Dockerfile48
1 files changed, 32 insertions, 16 deletions
diff --git a/support/docker/dev/Dockerfile b/support/docker/dev/Dockerfile
index 2b4f2b215..aa4a8a3d6 100644
--- a/support/docker/dev/Dockerfile
+++ b/support/docker/dev/Dockerfile
@@ -1,32 +1,48 @@
1FROM janitortechnology/ubuntu-dev 1FROM ubuntu:bionic
2
3# Avoid tzdata interactive dialog
4ENV DEBIAN_FRONTEND=noninteractive
2 5
3# Install PeerTube's dependencies. 6# Install PeerTube's dependencies.
4# Packages are from https://github.com/Chocobozzz/PeerTube#dependencies 7# Packages are from https://github.com/Chocobozzz/PeerTube#dependencies
5RUN sudo apt-get update -q && sudo apt-get install -qy \ 8RUN apt-get update -q && apt-get install -qy \
9 curl \
10 nano \
6 ffmpeg \ 11 ffmpeg \
7 postgresql \ 12 postgresql \
8 openssl 13 postgresql-contrib \
14 openssl \
15 g++ \
16 make \
17 redis-server \
18 git \
19 gnupg
20
21# Install NodeJS 8.x
22RUN curl -sL https://deb.nodesource.com/setup_8.x | bash - && \
23 apt-get install -y nodejs
24
25# Install Yarn
26RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
27 echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
28 apt-get update && apt-get install yarn
9 29
10# Download PeerTube's source code. 30# Download PeerTube's source code.
11RUN git clone -b develop https://github.com/Chocobozzz/PeerTube /home/user/PeerTube 31RUN git clone -b develop https://github.com/Chocobozzz/PeerTube /home/user/PeerTube
12WORKDIR /home/user/PeerTube 32WORKDIR /home/user/PeerTube
13 33
14# Configure the IDEs to use Janitor's source directory as workspace.
15ENV WORKSPACE /home/user/PeerTube/
16
17# Install dependencies. 34# Install dependencies.
18RUN yarn install --pure-lockfile 35RUN yarn install --pure-lockfile
19 36
20# Configure Janitor for PeerTube. 37# Configure and run PeerTube.
21COPY --chown=user:user janitor.json /home/user/ 38COPY setup_postgres.sql /tmp/
39RUN service postgresql start \
40 && su postgres -c "psql --file=/tmp/setup_postgres.sql"
22 41
23# Configure and build PeerTube. 42# Expose PeerTube sources as a volume
24COPY create_user.sql /tmp/ 43VOLUME /home/user/PeerTube
25RUN sudo service postgresql start \
26 && sudo -u postgres psql --file=/tmp/create_user.sql \
27 && npm run build
28
29COPY --chown=user:user supervisord.conf /tmp/supervisord-extra.conf
30RUN cat /tmp/supervisord-extra.conf | sudo tee -a /etc/supervisord.conf
31 44
32EXPOSE 3000 9000 45EXPOSE 3000 9000
46
47# Start PostgreSQL and Redis
48CMD service postgresql start && redis-server