]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame_incremental - support/docker/dev/Dockerfile
Clearer docker doc hierarchy
[github/Chocobozzz/PeerTube.git] / support / docker / dev / Dockerfile
... / ...
CommitLineData
1FROM ubuntu:bionic
2
3# Avoid tzdata interactive dialog
4ENV DEBIAN_FRONTEND=noninteractive
5
6# Install PeerTube's dependencies.
7# Packages are from https://github.com/Chocobozzz/PeerTube#dependencies
8RUN apt-get update -q && apt-get install -qy \
9 curl \
10 ffmpeg \
11 g++ \
12 git \
13 gnupg \
14 make \
15 nano \
16 openssl \
17 postgresql \
18 postgresql-contrib \
19 redis-server \
20 && curl -sL https://deb.nodesource.com/setup_10.x | bash - \
21 && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
22 && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
23 && apt-get update \
24 && apt-get install -qy nodejs yarn \
25 && rm -rf /var/lib/apt/lists/*
26
27# Download PeerTube's source code.
28RUN git clone -b develop https://github.com/Chocobozzz/PeerTube /home/user/PeerTube
29WORKDIR /home/user/PeerTube
30
31# Copy postgresql setup script
32COPY setup_postgres.sql /tmp/
33
34# Install Node.js dependencies and setup PostgreSQL
35RUN yarn install --pure-lockfile \
36 && service postgresql start \
37 && su postgres -c "psql --file=/tmp/setup_postgres.sql"
38
39# Expose PeerTube sources as a volume
40VOLUME /home/user/PeerTube
41
42# Expose frontend, API and RTMP
43EXPOSE 3000 9000 1935
44
45# Start PostgreSQL and Redis
46CMD ["service postgresql start && redis-server"]