/Roffline

Roffline allows you to browse Reddit offline

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

Important

Roffline has not been updated to work with the new reddit api limits.

Roffline (Reddit; Offline)

Roffline is a self-hosted offline Reddit server. It allows you to browse Reddit posts (including any media in the post) while offline. It is targeted at people that have intermittent internet.

Check out my other Reddit based project: RIDO - Reddit Image Downloader & Organizer

Setting Up With Docker:

  • Basic Docker:

    1. Run: cp .example.env .env.
      • Note: for basic docker, you must not change the following env variables in the .env file:
        • LOGDIR, POSTS_MEDIA_DOWNLOAD_DIR, SQLITE_DBPATH, COMMENTS_DBPATH
    2. Run: docker build . -t roffline
    3. Run: docker run -p 8080:8080 --env-file ./.env -v /somewhere/rl-data:/usr/src/app/rl-data roffline:latest
  • Docker Compose:

    1. Run: docker-compose up

Setting Up Without Docker:

  • Requirements:
    • NodeJS LTS
    • Python 3
    • The gallery-dl python module installed and available in PATH
    • The yt-dlp python module installed and available in PATH
    • ffmpeg installed and available in PATH (needed for yt-dlp to merge audio and video)
    • Chromium installed and available in PATH (needed for saving articles as pdf)
  • Installation:
    1. Run git clone https://github.com/Darkle/Roffline.git
    2. Create a .env file with all the env variables. You can see an example one here: .example.env
    3. Run npm install
    4. Run npm start

Features:

  • Downloads media from posts for viewing offline
  • Responsive website - can be accessed via mobile browser as well as desktop browser
  • You can easily import your subreddits from your reddit account
  • Search article titles
  • Dark mode
  • Optional infinite scroll
  • Can specify whether to download videos and the max video resolution and file size
  • Can specify to only show titles in feed page
  • Can specify the times at which Roffline updates
  • Can specify the max simultaneous media downloads at once
  • Keyboard friendly

Screenshots: screenshots

Limitations:

  • We dont get all the comments
  • We dont update posts with edits/updates
  • We dont get new comments after first fetch of post and comments

Security:

  • Roffline is not supposed to be exposed to the internet, it is intended to be hosted locally.
  • The default login for the special admin page is:
    • Username: admin
    • Password: foo
    • Note: the admin login is not for the regular login page, but rather for a special admin section (found via your settings page).

Misc Notes:

  • The video downloads are disabled by default. You can enable them in the admin settings page.
  • After you add a subreddit, getting the posts and comments takes a little while - maybe 5-10 mins depending on how many subreddits you added. The media downloading starts after the posts and comments have been downloaded.

Tech Stack:

Alternatives:

Things could possibly add later: