Dockerfile 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. FROM phusion/baseimage:0.11
  2. MAINTAINER nando
  3. # Set correct environment variables
  4. ENV DEBIAN_FRONTEND noninteractive
  5. ENV HOME /root
  6. ENV LC_ALL C.UTF-8
  7. ENV LANG en_US.UTF-8
  8. ENV LANGUAGE en_US.UTF-8
  9. ENV TERM xterm
  10. # Use baseimage-docker's init system
  11. CMD ["/sbin/my_init"]
  12. # Configure user nobody to match unRAID's settings
  13. RUN \
  14. usermod -u 99 nobody && \
  15. usermod -g 100 nobody && \
  16. usermod -d /home nobody && \
  17. chown -R nobody:users /home
  18. RUN add-apt-repository ppa:ondrej/php
  19. RUN apt-get update
  20. RUN apt-get upgrade -y
  21. RUN apt-get install -y mc
  22. RUN apt-get install -y tmux
  23. # Install proxy Dependencies
  24. RUN apt-get install -y apache2
  25. RUN apt-get install -y php7.1 libapache2-mod-php7.1 php7.1-mcrypt php7.1-cli php7.1-xml php7.1-zip \
  26. php7.1-mysql php7.1-mysqlnd php7.1-gd php7.1-imagick php7.1-recode php7.1-tidy \
  27. php-curl php7.1-mbstring php7.1-soap php7.1-intl php7.1-ldap php7.1-imap php-xml \
  28. php7.1-sqlite php7.1-mcrypt php7.1-common php7.1-xmlrpc inotify-tools
  29. RUN apt-get clean -y
  30. RUN rm -rf /var/lib/apt/lists/*
  31. RUN \
  32. service apache2 restart && \
  33. rm -R -f /var/www && \
  34. mkdir -p /var/www/html/ossn/configurations && \
  35. ln -s /web /var/www
  36. RUN \
  37. mv /etc/apache2/sites-available/000-default.conf /etc/apache2/000-default.conf && \
  38. rm /etc/apache2/sites-available/* && \
  39. rm /etc/apache2/apache2.conf && \
  40. ln -s /config/proxy-config.conf /etc/apache2/sites-available/000-default.conf && \
  41. ln -s /config/ossn.config.site.php /var/www/html/ossn/configurations/ossn.config.site.php && \
  42. ln -s /config/ossn.config.db.php /var/www/html/ossn/configurations/ossn.config.db.php && \
  43. ln -s /var/log/apache2 /logs
  44. # Update apache configuration with this one
  45. RUN \
  46. echo "<VirtualHost *:80>" > /etc/apache2/000-default.conf && \
  47. echo "ServerAdmin $adminlogin" >> /etc/apache2/000-default.conf && \
  48. echo "DocumentRoot /var/www/html/ossn" >> /etc/apache2/000-default.conf && \
  49. echo "ServerName $servername" >> /etc/apache2/000-default.conf && \
  50. echo "" >> /etc/apache2/000-default.conf && \
  51. echo "<Directory /var/www/html/ossn>" >> /etc/apache2/000-default.conf && \
  52. echo " Options FollowSymlinks" >> /etc/apache2/000-default.conf && \
  53. echo " AllowOverride All" >> /etc/apache2/000-default.conf && \
  54. echo " Require all granted" >> /etc/apache2/000-default.conf && \
  55. echo "</Directory>" >> /etc/apache2/000-default.conf && \
  56. echo "" >> /etc/apache2/000-default.conf && \
  57. echo "ErrorLog /$APACHE_LOG_DIR/ossn_error.log" >> /etc/apache2/000-default.conf && \
  58. echo "CustomLog /$APACHE_LOG_DIR/ossn_access.log combined" >> /etc/apache2/000-default.conf && \
  59. echo "" >> /etc/apache2/000-default.conf && \
  60. echo "</VirtualHost>" >> /etc/apache2/000-default.conf
  61. RUN \
  62. echo "<?php" > /etc/apache2/ossn.config.site.php && \
  63. echo "/**" >> /etc/apache2/ossn.config.site.php && \
  64. echo " * Open Source Social Network" >> /etc/apache2/ossn.config.site.php && \
  65. echo " *" >> /etc/apache2/ossn.config.site.php && \
  66. echo " * @package (softlab24.com).ossn" >> /etc/apache2/ossn.config.site.php && \
  67. echo " * @author OSSN Core Team <info@softlab24.com>" >> /etc/apache2/ossn.config.site.php && \
  68. echo " * @copyright (C) SOFTLAB24 LIMITED" >> /etc/apache2/ossn.config.site.php && \
  69. echo " * @license Open Source Social Network License (OSSN LICENSE) http://www.opensource-socialnetwork.org/licence" >> /etc/apache2/ossn.config.site.php && \
  70. echo " * @link https://www.opensource-socialnetwork.org/" >> /etc/apache2/ossn.config.site.php && \
  71. echo " */" >> /etc/apache2/ossn.config.site.php && \
  72. echo "" >> /etc/apache2/ossn.config.site.php && \
  73. echo "/$Ossn->url = '$servername';" >> /etc/apache2/ossn.config.site.php && \
  74. echo "/$Ossn->userdata = '$DataDirectory';" >> /etc/apache2/ossn.config.site.php
  75. RUN \
  76. echo "<?php" > /etc/apache2/ossn.config.db.php && \
  77. echo "/**" >> /etc/apache2/ossn.config.db.php && \
  78. echo " * Open Source Social Network" >> /etc/apache2/ossn.config.db.php && \
  79. echo " *" >> /etc/apache2/ossn.config.db.php && \
  80. echo " * @package (softlab24.com).ossn" >> /etc/apache2/ossn.config.db.php && \
  81. echo " * @author OSSN Core Team <info@softlab24.com>" >> /etc/apache2/ossn.config.db.php && \
  82. echo " * @copyright (C) SOFTLAB24 LIMITED" >> /etc/apache2/ossn.config.db.php && \
  83. echo " * @license Open Source Social Network License (OSSN LICENSE) http://www.opensource-socialnetwork.org/licence" >> /etc/apache2/ossn.config.db.php && \
  84. echo " * @link https://www.opensource-socialnetwork.org/" >> /etc/apache2/ossn.config.db.php && \
  85. echo " */" >> /etc/apache2/ossn.config.db.php && \
  86. echo "" >> /etc/apache2/ossn.config.db.php && \
  87. echo "// replace <<host>> with your database host name;" >> /etc/apache2/ossn.config.db.php && \
  88. echo "/$Ossn->host = '$DBHost';" >> /etc/apache2/ossn.config.db.php && \
  89. echo "" >> /etc/apache2/ossn.config.db.php && \
  90. echo "// replace <<port>> with your database host name;" >> /etc/apache2/ossn.config.db.php && \
  91. echo "/$Ossn->port = '$DBPort';" >> /etc/apache2/ossn.config.db.php && \
  92. echo "" >> /etc/apache2/ossn.config.db.php && \
  93. echo "// replace <<user>> with your database username;" >> /etc/apache2/ossn.config.db.php && \
  94. echo "/$Ossn->user = '$DBUser';" >> /etc/apache2/ossn.config.db.php && \
  95. echo "" >> /etc/apache2/ossn.config.db.php && \
  96. echo "// replace <<password>> with your database password;" >> /etc/apache2/ossn.config.db.php && \
  97. echo "/$Ossn->password = '$DBPassword';" >> /etc/apache2/ossn.config.db.php && \
  98. echo "" >> /etc/apache2/ossn.config.db.php && \
  99. echo "// replace <<dbname>> with your database name;" >> /etc/apache2/ossn.config.db.php && \
  100. echo "/$Ossn->database = '$DBName';" >> /etc/apache2/ossn.config.db.php
  101. ADD apache2.conf /etc/apache2/apache2.conf
  102. ADD ports.conf /etc/apache2/ports.conf
  103. # Manually set the apache environment variables in order to get apache to work immediately.
  104. RUN \
  105. echo www-data > /etc/container_environment/APACHE_RUN_USER && \
  106. echo www-data > /etc/container_environment/APACHE_RUN_GROUP && \
  107. echo /var/log/apache2 > /etc/container_environment/APACHE_LOG_DIR && \
  108. echo /var/lock/apache2 > /etc/container_environment/APACHE_LOCK_DIR && \
  109. echo /var/run/apache2.pid > /etc/container_environment/APACHE_PID_FILE && \
  110. echo /var/run/apache2 > /etc/container_environment/APACHE_RUN_DIR
  111. ADD https://www.opensource-socialnetwork.org/download_ossn/latest/build.zip /tmp/build.zip
  112. RUN unzip /tmp/build.zip -d /tmp
  113. RUN rm /tmp/build.zip
  114. # Expose Ports
  115. EXPOSE 80 443
  116. # The www directory and proxy config location
  117. VOLUME ["/config", "/web", "/logs"]
  118. # Add our crontab file
  119. ADD crons.conf /root/crons.conf
  120. # Add firstrun.sh to execute during container startup
  121. ADD firstrun.sh /etc/my_init.d/firstrun.sh
  122. RUN chmod +x /etc/my_init.d/firstrun.sh
  123. # Add inotify.sh to execute during container startup
  124. RUN mkdir /etc/service/inotify
  125. ADD inotify.sh /etc/service/inotify/run
  126. RUN chmod +x /etc/service/inotify/run
  127. # Add apache to runit
  128. RUN mkdir /etc/service/apache
  129. ADD apache-run.sh /etc/service/apache/run
  130. RUN chmod +x /etc/service/apache/run
  131. ADD apache-finish.sh /etc/service/apache/finish
  132. RUN chmod +x /etc/service/apache/finish
  133. RUN a2enmod rewrite