53 lines
1.7 KiB
Docker
53 lines
1.7 KiB
Docker
FROM alpine:3.7
|
|
|
|
ENV UID=991 GID=991 \
|
|
HTTPS=false \
|
|
HOSTNAME=peertube.localhost \
|
|
PORT=80 \
|
|
DATABASE_HOST=localhost \
|
|
DATABASE_PORT=5432 \
|
|
DATABASE_USERNAME=peertube \
|
|
DATABASE_PASSWORD=peertube \
|
|
ADMIN_EMAIL=admin@domain.local \
|
|
SIGNUP_ENABLE=false \
|
|
TRANSCODING_ENABLE=false \
|
|
TRANSCODING_THREADS=2 \
|
|
BODY_SIZE=100M \
|
|
CACHE_SIZE=100 \
|
|
SIGNUP_LIMIT=10 \
|
|
VIDEO_QUOTA=-1 \
|
|
RESOLUTION_280=true \
|
|
RESOLUTION_360=true \
|
|
RESOLUTION_480=true \
|
|
RESOLUTION_720=true \
|
|
RESOLUTION_1080=true \
|
|
DEBIAN_FRONTEND=noninteractiv
|
|
|
|
RUN addgroup -g 991 peertube && adduser -u 991 -G peertube -s /bin/sh -D -h /home/peertube peertube \
|
|
&& apk -U add curl ffmpeg openssl git nginx yarn nodejs build-base su-exec shadow \
|
|
&& git clone --branch ${PEERTUBE_VER} https://github.com/Chocobozzz/PeerTube /PeerTube \
|
|
&& echo "****** chown ******" \
|
|
&& chown -R peertube:peertube PeerTube \
|
|
&& cd /PeerTube \
|
|
&& echo "****** run npm install as user ******" \
|
|
&& su-exec peertube:peertube "cd /PeerTube && npm install" \
|
|
&& echo "****** run yarn install as user ******" \
|
|
&& su-exec peertube:peertube "cd /PeerTube && yarn install" \
|
|
&& echo "****** run npm run build as user ******" \
|
|
&& su-exec peertube:peertube "cd /PeerTub && npm run build" \
|
|
&& apk del git build-base \
|
|
&& rm -rf /tmp/* /PeerTube.git /var/cache/apk/*
|
|
|
|
EXPOSE 8080
|
|
|
|
COPY rootfs /
|
|
|
|
RUN chmod +x /usr/local/bin/startup-alpine
|
|
|
|
WORKDIR /PeerTube/
|
|
|
|
VOLUME ["/PeerTube/certs", "/PeerTube/videos", "/PeerTube/logs", "/PeerTube/previews", "/PeerTube/thumbnails", "/PeerTube/torrents"]
|
|
|
|
ENTRYPOINT ["/usr/local/bin/startup-alpine"]
|
|
|