From 2a61e13fae4e71c804e96caefd3fdb46f09a81db Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Wed, 19 Jun 2019 14:54:38 +0200 Subject: Improve CONTRIBUTING guide Also: - update the docker-compose to use Alpine image (lighter) - update the PHP Dockerfile to use Imagick instead of GD (for GIF support when downloading images) and add support for SQLite --- .github/CONTRIBUTING.md | 32 +++++++++++++++++++++++++++++++- docker-compose.yml | 20 ++++++++++---------- docker/php/Dockerfile | 23 +++++++++++++++++++---- 3 files changed, 60 insertions(+), 15 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 920f1905..d5599206 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,11 +1,41 @@ # How to contribute +## Test it locally + +### Using Docker + +- Clone the repository +- Ensure your Docker daemon is running +- Launch `docker-compose up` + +You'll then have: +- a web server (nginx) +- a PHP daemon (using FPM) +- a Redis database (to handle imports) +- a SQLite database to store articles + +You can now access your wallabag instance using that url: `http://127.0.0.1:8000` + +If you want to test using an other database than SQLite, uncomment the `postgres` or `mariadb` code from the `docker-compose.yml` file at the root of the repo. Also uncomment related line in the `php` section so the database will be linked to your PHP instance. + +### Using your own PHP server + +- Ensure you are running PHP > 7.1. +- Clone the repository +- Launch `composer install` +- If you got some errors, fix them (they might be related to some missing PHP extension from your machine) +- Then `php bin/console wallabag:install` +- If you got some errors, fix them (they might be related to some missing PHP extension from your machine) +- Run `php bin/console server:run` + +You can now access your wallabag instance using that url: `http://127.0.0.1:8000` + ## You found a bug Please [open a new issue](https://github.com/wallabag/wallabag/issues/new). To fix the bug quickly, we need some infos: please answer to the questions in the issue form. -If you have the skills, look for errors into php, server and application (see `var/logs`) logs. +If you have the skills, look for errors into PHP, server and application logs (see `var/logs`). Note : If you have large portions of text, use [Github's Gist service](https://gist.github.com/) or other pastebin-like. diff --git a/docker-compose.yml b/docker-compose.yml index 3c28f2f1..0f8f0970 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,9 +1,9 @@ version: '2' services: nginx: - image: nginx + image: nginx:alpine ports: - - "8080:80" + - "8000:80" volumes: - ./docker/nginx/nginx.conf:/nginx.conf - ./docker/logs/nginx:/var/log/nginx @@ -32,8 +32,8 @@ services: # - ./docker/postgres/env # - ./docker/mariadb/env - #postgres: - # image: postgres:9 + # postgres: + # image: postgres:11-alpine # ports: # - "5432:5432" # volumes: @@ -41,7 +41,7 @@ services: # env_file: # - ./docker/postgres/env - #mariadb: + # mariadb: # image: mariadb:10 # ports: # - "3306:3306" @@ -50,12 +50,12 @@ services: # env_file: # - ./docker/mariadb/env - rabbitmq: - image: rabbitmq:3-management - ports: - - "15672:15672" + # rabbitmq: + # image: rabbitmq:3-management-alpine + # ports: + # - "15672:15672" redis: - image: redis + image: redis:4-alpine ports: - "6379:6379" diff --git a/docker/php/Dockerfile b/docker/php/Dockerfile index b632cb8a..d9b2e5cc 100644 --- a/docker/php/Dockerfile +++ b/docker/php/Dockerfile @@ -4,10 +4,25 @@ FROM php:7.2-fpm ARG timezone='Europe/Paris' RUN apt-get update && apt-get install -y \ - libmcrypt-dev libicu-dev libpq-dev libxml2-dev libpng-dev libjpeg-dev \ - && /usr/local/bin/docker-php-ext-configure gd --with-jpeg-dir=/usr/include \ - && docker-php-ext-install \ - iconv mbstring intl pdo pdo_mysql pdo_pgsql gd + libmcrypt-dev \ + libicu-dev \ + libpq-dev \ + libxml2-dev \ + libpng-dev \ + libjpeg-dev \ + libsqlite3-dev \ + imagemagick \ + libmagickwand-dev +RUN docker-php-ext-install \ + iconv \ + mbstring \ + intl \ + pdo \ + pdo_mysql \ + pdo_pgsql \ + pdo_sqlite + +RUN printf "\n" | pecl install imagick && docker-php-ext-enable imagick RUN echo "date.timezone="$timezone > /usr/local/etc/php/conf.d/date_timezone.ini -- cgit v1.2.3