From 29dc711b7b53e73eb9325da217cef8affbd3c11b Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sun, 4 Mar 2018 12:27:14 +0100 Subject: [PATCH] Docker follow-up (#1817) * Docker follow-up https://github.com/FreshRSS/FreshRSS/pull/1813 * Readme links cloud.docker.com does not seem to have a public version of the pages re-add https://hub.docker.com/r/freshrss/freshrss/ * Link to original GitHub readme * Docker readme MySQL PostgreSQL https://github.com/FreshRSS/FreshRSS/pull/1817#issuecomment-370195319 * docker exec username --- Docker/Dockerfile | 2 +- Docker/README.md | 42 +++++++++++++++++++++++++++++++++++------- README.md | 1 + 3 files changed, 37 insertions(+), 8 deletions(-) diff --git a/Docker/Dockerfile b/Docker/Dockerfile index fc753e58d..993dcea31 100644 --- a/Docker/Dockerfile +++ b/Docker/Dockerfile @@ -17,6 +17,6 @@ COPY ./Docker/*.Apache.conf /etc/apache2/conf.d/ EXPOSE 80 CMD php -f ./cli/prepare.php > /dev/null && \ - chown -R :apache ${FRESHRSS_ROOT} && \ + chown -R :www-data ${FRESHRSS_ROOT} && \ chmod -R g+r ${FRESHRSS_ROOT} && chmod -R g+w ${FRESHRSS_ROOT}/data/ && \ exec httpd -D FOREGROUND diff --git a/Docker/README.md b/Docker/README.md index d85b9a6f0..ccf4ab3f0 100644 --- a/Docker/README.md +++ b/Docker/README.md @@ -1,5 +1,7 @@ # Deploy FreshRSS with Docker -* See also https://hub.docker.com/r/freshrss/freshrss/ +* See also: + * https://hub.docker.com/r/freshrss/freshrss/ + * https://cloud.docker.com/app/freshrss/repository/docker/freshrss/freshrss ## Install Docker @@ -9,7 +11,7 @@ sh get-docker.sh ``` ## Optional: Build Docker image of FreshRSS -Optional, as a *less recent* [online image](https://hub.docker.com/r/freshrss/freshrss/) can be automatically fetched during the next step (run), +Optional, as a *less recent* online image can be automatically fetched during the next step (run), but online images are not available for as many platforms as if you build yourself. ```sh @@ -24,7 +26,7 @@ sudo docker build --tag freshrss/freshrss -f Docker/Dockerfile . ## Run FreshRSS -Example exposing FreshRSS on port 8080. You may have to adapt the network parameters to fit your needs. +Example using SQLite, and exposing FreshRSS on port 8080. You may have to adapt the network parameters to fit your needs. ```sh # You can optionally run from the directory containing the FreshRSS source code: @@ -39,6 +41,32 @@ sudo docker run -dit --restart unless-stopped --log-opt max-size=10m \ --name freshrss freshrss/freshrss ``` +### Examples with external databases + +You may want to use other link methods such as Docker bridges, and use Docker volumes for the data, but here are some simple examples: + +#### MySQL +See https://hub.docker.com/_/mysql/ + +```sh +sudo docker run -d -v /path/to/mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=rootpass -e MYSQL_DATABASE=freshrss -e MYSQL_USER=freshrss -e MYSQL_PASSWORD=pass --name mysql mysql +sudo docker run -dit --restart unless-stopped --log-opt max-size=10m \ + -v $(pwd)/data:/var/www/FreshRSS/data \ + --link mysql -p 8080:80 \ + --name freshrss freshrss/freshrss +``` + +#### PostgreSQL +See https://hub.docker.com/_/postgres/ + +```sh +sudo docker run -d -v /path/to/pgsql-data:/var/lib/postgresql/data -e POSTGRES_DB=freshrss -e POSTGRES_USER=freshrss -e POSTGRES_PASSWORD=pass --name postgres postgres +sudo docker run -dit --restart unless-stopped --log-opt max-size=10m \ + -v $(pwd)/data:/var/www/FreshRSS/data \ + --link postgres -p 8080:80 \ + --name freshrss freshrss/freshrss +``` + ## Update ```sh @@ -46,17 +74,17 @@ sudo docker run -dit --restart unless-stopped --log-opt max-size=10m \ sudo docker pull freshrss/freshrss # And then sudo docker stop freshrss -docker rename freshrss freshrss_old +sudo docker rename freshrss freshrss_old # See the run section above for the full command sudo docker run ... # If everything is working, delete the old container -docker rm freshrss_old +sudo docker rm freshrss_old ``` ## Command line ```sh -sudo docker exec -it freshrss php ./cli/list-users.php +sudo docker exec --user apache -it freshrss php ./cli/list-users.php ``` See the [CLI documentation](../cli/) for all the other commands. @@ -68,7 +96,7 @@ Set a cron job up on your host machine, calling the `actualize_script.php` insid Create `/etc/cron.d/FreshRSS` with: ``` -7,37 * * * * root docker exec -it freshrss php ./app/actualize_script.php > /tmp/FreshRSS.log 2>&1 +7,37 * * * * root docker exec --user apache -it freshrss php ./app/actualize_script.php > /tmp/FreshRSS.log 2>&1 ``` ## Debugging diff --git a/README.md b/README.md index 8858dd12d..cacf61fa9 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ [![Build Status][travis-badge]][travis-link] +* Read this document on [github.com/FreshRSS/FreshRSS/](https://github.com/FreshRSS/FreshRSS/blob/master/README.md) to get the correct links and pictures. * [Version française](README.fr.md) # FreshRSS