diff options
Diffstat (limited to 'support/docker/dev/Dockerfile')
-rw-r--r-- | support/docker/dev/Dockerfile | 48 |
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 @@ | |||
1 | FROM janitortechnology/ubuntu-dev | 1 | FROM ubuntu:bionic |
2 | |||
3 | # Avoid tzdata interactive dialog | ||
4 | ENV 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 |
5 | RUN sudo apt-get update -q && sudo apt-get install -qy \ | 8 | RUN 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 | ||
22 | RUN curl -sL https://deb.nodesource.com/setup_8.x | bash - && \ | ||
23 | apt-get install -y nodejs | ||
24 | |||
25 | # Install Yarn | ||
26 | RUN 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. |
11 | RUN git clone -b develop https://github.com/Chocobozzz/PeerTube /home/user/PeerTube | 31 | RUN git clone -b develop https://github.com/Chocobozzz/PeerTube /home/user/PeerTube |
12 | WORKDIR /home/user/PeerTube | 32 | WORKDIR /home/user/PeerTube |
13 | 33 | ||
14 | # Configure the IDEs to use Janitor's source directory as workspace. | ||
15 | ENV WORKSPACE /home/user/PeerTube/ | ||
16 | |||
17 | # Install dependencies. | 34 | # Install dependencies. |
18 | RUN yarn install --pure-lockfile | 35 | RUN yarn install --pure-lockfile |
19 | 36 | ||
20 | # Configure Janitor for PeerTube. | 37 | # Configure and run PeerTube. |
21 | COPY --chown=user:user janitor.json /home/user/ | 38 | COPY setup_postgres.sql /tmp/ |
39 | RUN 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 |
24 | COPY create_user.sql /tmp/ | 43 | VOLUME /home/user/PeerTube |
25 | RUN sudo service postgresql start \ | ||
26 | && sudo -u postgres psql --file=/tmp/create_user.sql \ | ||
27 | && npm run build | ||
28 | |||
29 | COPY --chown=user:user supervisord.conf /tmp/supervisord-extra.conf | ||
30 | RUN cat /tmp/supervisord-extra.conf | sudo tee -a /etc/supervisord.conf | ||
31 | 44 | ||
32 | EXPOSE 3000 9000 | 45 | EXPOSE 3000 9000 |
46 | |||
47 | # Start PostgreSQL and Redis | ||
48 | CMD service postgresql start && redis-server | ||