--- /dev/null
+<IfModule version_module>
+ <IfVersion >= 2.4>
+ Require all denied
+ </IfVersion>
+ <IfVersion < 2.4>
+ Allow from none
+ Deny from all
+ </IfVersion>
+</IfModule>
+
+<IfModule !version_module>
+ Require all denied
+</IfModule>
--- /dev/null
+user www-data www-data;
+daemon off;
+worker_processes 4;
+
+events {
+ worker_connections 768;
+}
+
+http {
+ include mime.types;
+ default_type application/octet-stream;
+ keepalive_timeout 20;
+
+ client_max_body_size 10m;
+
+ index index.html index.php;
+
+ server {
+ listen 80;
+ root /var/www/shaarli;
+
+ access_log /var/log/nginx/shaarli.access.log;
+ error_log /var/log/nginx/shaarli.error.log;
+
+ location ~ /\. {
+ # deny access to dotfiles
+ access_log off;
+ log_not_found off;
+ deny all;
+ }
+
+ location ~ ~$ {
+ # deny access to temp editor files, e.g. "script.php~"
+ access_log off;
+ log_not_found off;
+ deny all;
+ }
+
+ location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
+ # cache static assets
+ expires max;
+ add_header Pragma public;
+ add_header Cache-Control "public, must-revalidate, proxy-revalidate";
+ }
+
+ location = /favicon.ico {
+ # serve the Shaarli favicon from its custom location
+ alias /var/www/shaarli/images/favicon.ico;
+ }
+
+ location / {
+ # Slim - rewrite URLs
+ try_files $uri /index.php$is_args$args;
+ }
+
+ location ~ (index)\.php$ {
+ # Slim - split URL path into (script_filename, path_info)
+ try_files $uri =404;
+ fastcgi_split_path_info ^(.+\.php)(/.+)$;
+
+ # filter and proxy PHP requests to PHP-FPM
+ fastcgi_pass unix:/var/run/php5-fpm.sock;
+ fastcgi_index index.php;
+ include fastcgi.conf;
+ }
+
+ location ~ \.php$ {
+ # deny access to all other PHP scripts
+ deny all;
+ }
+ }
+}
--- /dev/null
+[program:php5-fpm]
+command=/usr/sbin/php5-fpm -F
+priority=5
+autostart=true
+autorestart=true
+
+[program:nginx]
+command=/usr/sbin/nginx
+priority=10
+autostart=true
+autorestart=true
+stdout_events_enabled=true
+stderr_events_enabled=true
--- /dev/null
+# Shaarli runtime resources
+cache/*
+data/*
+pagecache/*
+tmp/*
+
+# Eclipse project files
+.settings
+.buildpath
+.project
+
+# Raintpl generated pages
+*.rtpl.php
+
+# 3rd-party dependencies
+composer.lock
+vendor/
+
+# Release archives
+*.tar
+*.zip
+
+# Development and test resources
+coverage
+doxygen
+sandbox
+phpmd.html
+
+# User plugin configuration
+plugins/*/config.php
.travis.yml export-ignore
doc/**/*.json export-ignore
doc/**/*.md export-ignore
-docker/ export-ignore
+.docker/ export-ignore
+.dockerignore export-ignore
+Dockerfile export-ignore
Doxyfile export-ignore
Makefile export-ignore
phpunit.xml export-ignore
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
+## [v0.8.7](https://github.com/shaarli/Shaarli/releases/tag/v0.8.7) - UNPUBLISHED
+### Changed
+- Build the Docker image from the local Git sources
-## [v0.8.6](https://github.com/shaarli/Shaarli/releases/tag/v0.8.5) - 2018-02-19
+## [v0.8.6](https://github.com/shaarli/Shaarli/releases/tag/v0.8.6) - 2018-02-19
### Changed
- Run version check tests against the 'stable' branch
--- /dev/null
+# Stage 1:
+# - Get Shaarli sources
+# - Resolve PHP dependencies with Composer
+FROM composer:latest as composer
+ADD . /app/shaarli
+RUN cd shaarli \
+ && composer --prefer-dist --no-dev install
+
+# Stage 2:
+# - Shaarli image
+FROM debian:jessie
+LABEL maintainer="Shaarli Community"
+
+ENV TERM dumb
+RUN apt-get update \
+ && apt-get install --no-install-recommends -y \
+ ca-certificates \
+ curl \
+ nginx-light \
+ php5-curl \
+ php5-fpm \
+ php5-gd \
+ php5-intl \
+ supervisor \
+ && apt-get clean
+
+RUN sed -i 's/post_max_size.*/post_max_size = 10M/' /etc/php5/fpm/php.ini \
+ && sed -i 's/upload_max_filesize.*/upload_max_filesize = 10M/' /etc/php5/fpm/php.ini
+
+COPY .docker/nginx.conf /etc/nginx/nginx.conf
+COPY .docker/supervised.conf /etc/supervisor/conf.d/supervised.conf
+
+WORKDIR /var/www
+COPY --from=composer /app/shaarli shaarli
+RUN rm -rf html \
+ && chown -R www-data:www-data .
+
+VOLUME /var/www/shaarli/data
+
+EXPOSE 80
+
+CMD ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisor/supervisord.conf"]