aboutsummaryrefslogtreecommitdiffhomepage
path: root/support/docker/dev/Dockerfile
blob: 8e049f3f6a1390ba9214d646ddff35df044ce177 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
FROM ubuntu:bionic

# Avoid tzdata interactive dialog
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 \
      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

# Copy postgresql setup script
COPY setup_postgres.sql /tmp/

# 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"]