GithubHelp home page GithubHelp logo

cheapsteak / webrecorder Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rhizome-conifer/conifer

0.0 2.0 0.0 2.83 MB

Web Archiving For All!

Home Page: https://webrecorder.io

License: Apache License 2.0

Shell 0.33% Nginx 0.34% JavaScript 28.20% HTML 19.80% AppleScript 0.09% CSS 8.68% Python 42.56%

webrecorder's Introduction

Webrecorder Project

This version corresponds to the service deployed at https://webrecorder.io/

If you are interested in contributing to Webrecorder, or have any general questions, please contact us at [email protected]

This is the official repository of the Webrecorder web archiving platform: https://webrecorder.io/

Webrecorder provides an integrated platform for creating high-fidelity web archives while browsing, sharing, and disseminating archived content.

Users may try the service anonymously or login and create a permanent online archive.

Webrecorder will support multiple backends and will integrate with existing preservation systems.

For best experience, please try Webrecorder at https://webrecorder.io/

Running Locally

Webrecorder can be run using Docker and Docker Compose. See Docker Installation for details on installing Docker. See Docker Compose Installation for installing Compose.

1). git clone https://github.com/webrecorder/webrecorder

2). cd webrecorder; bash init-default.sh.

3). docker-compose build

4). docker-compose up -d

(The init-default.sh is a convenience script that copies wr_sample.env -> wr.env and creates keys for session encryption.)

Point your browser to port http://<DOCKER HOST>:8089/ to view the Webrecorder.

Configuration

Webrecorder is fully configured from wr.yaml, which includes full settings for the application and various containers.

Archived data (WARCs) are stored locally under the ./data/ directory, and all metadata and user info is stored in a persistent Redis instance.

Useful environment and deployment settings are loaded from wr.env and can be overriden per-deployment.

Following are a few of these settings:

Storage

The DEFAULT_STORAGE option in wr.env configures storage options. Default is just the local file system.

Currently, s3 is also supported. To use s3, set DEFAULT_STORAGE=s3 and fill in the additional auth settings in wr.env

With default local storage, archived data is kept in the ./data/warcs directory only.

Mail

Webrecorder sends invitiation, confirmation and lost password emails. By default, a local SMTP server is run in Docker, however, this can be configured to use a remote server by changing EMAIL_SMTP_URL and EMAIL_SMTP_SENDER.

Invites

By default, Webrecorder allows anyone with access to the web site to register for an account. However, users may wish to limit registration to specifically invited users.

To require invites, simply set REQUIRE_INVITES=true

Administration tool

The admin.py script provides easy low level management of users. Add, modify and remove users along with creating and managing invites.

To interactively create a user: docker exec -it webrecorder_app_1 python -m webrecorder.admin -c or programmatically add users by supplying the appropriate positional values: ... python -m webrecorder.admin -c <email> <username> <passwd> <role> '<full name>'

Other arguments:

  • -m modify a user
  • -d delete a user
  • -i create and send a new invite
  • -l list invited users
  • -b send backlogged invites

See docker exec -it webrecorder_app_1 python -m webrecorder.admin --help for full details.

Updating Deployment

When making changes to Webrecorder, running docker-compose build; docker-compose up -d will restart all of the containers.

To restart only the Webrecorder container, use the ./rebuild.sh script.

Architecture

Webrecorder is built using a variety of open-source tools and uses pywb, Redis and Nginx. It is written in Python and uses the Bottle, Cork, Webassets frameworks. It runs with Gevent and uWSGI.

Contact

Webrecorder is a project of Rhizome, created by Ilya Kreymer

For any questions/concerns regarding the project or https://webrecorder.io/ you can:

License

Webrecorder is Licensed under the Apache 2.0 License. See NOTICE and LICENSE for details.

webrecorder's People

Contributors

atomotic avatar despens avatar ikreymer avatar jcushman avatar johnsome avatar m4rk3r avatar patshiu avatar tilgovi avatar

Watchers

 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.