mirror of https://github.com/Chocobozzz/PeerTube
49 lines
1.2 KiB
Docker
49 lines
1.2 KiB
Docker
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 \
|
|
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
|
|
|
|
# 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 setup_postgres.sql /tmp/
|
|
RUN service postgresql start \
|
|
&& su postgres -c "psql --file=/tmp/setup_postgres.sql"
|
|
|
|
# Expose PeerTube sources as a volume
|
|
VOLUME /home/user/PeerTube
|
|
|
|
EXPOSE 3000 9000
|
|
|
|
# Start PostgreSQL and Redis
|
|
CMD service postgresql start && redis-server
|