Dockerfile 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. FROM httpd:2.4.37-alpine
  2. RUN \
  3. apk add --upgrade --update-cache curl && \
  4. mkdir -p /var/www/html && \
  5. mkdir -p /var/www/conf && \
  6. \
  7. # add images
  8. for i in 0 1 2 3 4 5 6 7 8 9; do \
  9. curl -sL -o "/var/www/html/$i.jpg" "https://picsum.photos/1280/960"; \
  10. done && \
  11. \
  12. # add fonts
  13. for font in notoserif/NotoSerif-Regular.ttf unlock/Unlock-Regular.ttf blackandwhitepicture/BlackAndWhitePicture-Regular.ttf indieflower/IndieFlower-Regular.ttf; do \
  14. curl -s -o "/var/www/html/$(basename $font)" "https://cdn.jsdelivr.net/gh/google/fonts/ofl/$font"; \
  15. done && \
  16. \
  17. # add video
  18. curl -s -o /var/www/html/video.mp4 "http://techslides.com/demos/sample-videos/small.mp4" && \
  19. \
  20. # set up apache
  21. echo >> /usr/local/apache2/conf/httpd.conf && \
  22. echo 'LoadModule dav_module modules/mod_dav.so' >> /usr/local/apache2/conf/httpd.conf && \
  23. echo 'LoadModule dav_fs_module modules/mod_dav_fs.so' >> /usr/local/apache2/conf/httpd.conf && \
  24. echo 'LoadModule dav_lock_module modules/mod_dav_lock.so' >> /usr/local/apache2/conf/httpd.conf && \
  25. echo >> /usr/local/apache2/conf/httpd.conf && \
  26. echo 'Include /var/www/conf/*.conf' >> /usr/local/apache2/conf/httpd.conf && \
  27. \
  28. echo 'DavLockDB "/usr/local/apache2/var/DavLock"' >> /var/www/conf/location.conf && \
  29. echo >> /var/www/conf/location.conf && \
  30. echo '<Directory /var/www>' >> /var/www/conf/location.conf && \
  31. echo ' Dav On' >> /var/www/conf/location.conf && \
  32. echo ' Require all granted' >> /var/www/conf/location.conf && \
  33. echo '</Directory>' >> /var/www/conf/location.conf && \
  34. \
  35. mkdir -p /usr/local/apache2/var && \
  36. chown -R daemon:daemon /usr/local/apache2/var && \
  37. chmod -R 755 /usr/local/apache2/var && \
  38. \
  39. # set ownership properly
  40. chown -R daemon:daemon /var/www && \
  41. \
  42. # create som inaccessible files for testing
  43. mkdir -p /var/www/html/inaccessible-dir && \
  44. curl -sL -o "/var/www/html/inaccessible-image.jpg" "https://picsum.photos/1280/960" && \
  45. echo 'Lorem upsum dolor sit amet' > /var/www/html/inaccessible-text-file.txt && \
  46. > /var/www/html/inaccessible-file && \
  47. chmod 700 /var/www/html/inaccessible* && \
  48. \
  49. # clean up
  50. apk del curl;
  51. EXPOSE 80