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