Git Product home page Git Product logo

docker-selfoss's Introduction

selfoss for Docker

(c) 2015 Jens Erat [email protected]

Redistribution and modifications are welcome, see the LICENSE file for details.

selfoss is a new multipurpose rss reader, live stream, mashup, aggregation web application.

This Dockerfile provides a selfoss image.

Setup

All data is stored in /var/www/html/data, which is persisted as a volume, but it might be reasonable to export it to the local file system. Port 80 is exposed for the web application.

Data Folders

Selfoss requires a bunch of folders in the data directory. Make sure to create them if you export the volume, running following from the data volume's root:

mkdir cache favicons logs thumbnails sqlite
chown -R 33 . # UID 33 is www-data inside the container

Configuration

Usually, the configuration file would be stored in /var/www/html/config.ini, and thus not persisted. The image symlinks it into the data directory, so you can edit /var/www/html/data/config.ini instead. For configuration directives, follow the selfoss documentation. Generally, no documentation is required; but strongly recommended (ie., to make it password protected).

Database

Per default, selfoss relies on SQLite, which should be fully sufficient for a single-user application like selfoss. If you prefer a "real" database management application, the image might be missing PHP modules (patches to the Dockerfile are welcome).

Update Cronjob

Add a cronjob somewhere to fetch updates feeds on a regular base. Following line would update the feeds all 15 minutes:

*/15 * * * * curl -s http://example.org/update >/dev/null

If you set up a password-protected login, you will be required to allow anonymous updates, adding

allow_public_update_access=1

to your config.ini.

Nginx Proxy

In case you want to proxy selfoss with Nginx, this is a proposal for the server { } directive:

location ~* ^/(data\/logs|data\/sqlite|config\.ini|\.ht|password) {
    deny all; # Disable temporarilly to generate a password usingi the `/password` page
}

location /update {
    proxy_set_header Host $http_host;
    proxy_read_timeout 300;
    proxy_pass http://selfoss:80;
}

location / {
    proxy_set_header Host $http_host;
    proxy_pass http://selfoss:80;
}

Running a Container

The most basic run command would be:

docker run -d \
	--name 'selfoss' \
	--publish 80:80 \
	--volume /srv/selfoss:/var/www/html/data \
	jenserat/selfoss

Upgrading and Maintenance

Selfoss will automatically upgrade the database. For other maintenance tasks during upgrades, refer to the selfoss documentation.

To enter the container and perform maintenance, use (given you named the container selfoss):

docker exec -ti selfoss /bin/bash

docker-selfoss's People

Contributors

jenserat avatar whopo avatar armandabric avatar rwky avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.