Federated video streaming platform using ActivityPub and P2P in the web browser with Angular. https://joinpeertube.org/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

47 lines
1.3 KiB

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