weblens

module
v0.0.0-...-54477f5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2025 License: MIT

README

Weblens

Self-Hosted file manager and photo server

weblens logo

Weblens Fulltest


Overview

Weblens is a self-hosted file management and sharing system that aims to provide a simple and snappy experience.

Features lightning round

  • File management: including history, backup, and restore
  • File sharing with other users and anonymous guests
  • Fast and extensive global search and searching features
  • Clean, productive web interface
  • Media viewing and management, including video and raw photo support, metadata editing, and more
  • API (still likely to include breaking changes with future updates, documentation at /docs/index.html on any running weblens server)
  • Focus on performance and simplicity
Roadmap
  • Search and organization
    • File and media tagging and improved search
    • Local machine learning support for image recognition
  • Backup
    • Core "emulation" for backup servers
    • Restore individual files from backup server
    • Direct backup to cloud storage providers
  • Improved metadata editing
  • WebDav support

Ready to get started?

Installation

Weblens is distributed as a Docker image. Here is a minimal docker setup to get started:

docker run --name weblens \
-p 8080:8080 \ 
-v /files/on/host:/media/users \ 
-v /cache/on/host:/media/cache \
-e MONGODB_URI="mongodb://{{ MONGO_USER }}:{{ MONGO_PASS }}@weblens-mongo:27017"
docker.io/ethrous/weblens:latest

Also, Weblens uses MongoDB. This can easily be setup using another container

docker run --name weblens-mongo \
-v /db/on/host:/data/db \
-e MONGO_INITDB_ROOT_USERNAME: {{ MONGO_USER }} \
-e MONGO_INITDB_ROOT_PASSWORD: {{ MONGO_PASS }} \
mongo

Replace anything above with {{ DOUBLE_BRACES }} with values specific to your setup.

⚠️ Note Having the containers on the same Docker network is extremely helpful. Read how to set up a Docker network. If you wish not to do this, you will have to modify the MONGODB_URI to something routable, and export port 27017 on the mongo container.

If you prefer to use docker-compose or want view the other configuration options, a sample docker-compose.yml is provided in the scripts directory.

Setup

Once you have the containers configured and running, you can begin setting up your Weblens server.

A Weblens server can be configured as a "core" server, or as a "backup" server. A core server is the main server that is used day to day, and an optional backup server is a one that mirrors the contents of 1 or more core servers. Ideally a backup server is physically distant from any core it backs up.

WeblensSetup.png

Weblens Core

If you are new to Weblens, you will want to set up a core server. If instead you want to create an offsite backup, see setup instructions for a Weblens Backup server.

Configuring a core server requires you to create an owner user, give the server a name, and optionally set the server address (e.g. if it is behind a reverse proxy)

CoreSetup.png

And thats it! You will be dropped into the files page, and you can begin uploading and organizing files, and inviting other users to share with.

Weblens Backup

Weblens backup servers are designed to be a simple set-and-forget solution to keep your data safe. Unlike core servers, which need to be accessible on the internet (or via VPN, etc.), a backup server can be setup behind a firewall or on a private network, and just needs to be able to reach the core server.

⚠️ Note that a Backup server requires an existing core server, and for you to be an admin of that server

To configure a backup server, give it a name, the public address of the core server, and an API key generated by the core server.

WeblensBackupConfiguration.png

After setting up your backup, under the "remotes" section of the adming settings on your core server, you can now view the status of your backup server.

In the event of a disaster that takes out your core server, you can perform a "restore" operation on your backup server, and all your data will be restored to a new core server of your choosing. If, instead, you just want protection from accidental deletion of files, a core server has this functionality built in, and would not need a backup server to acomplish this.


Want to contribute?

Weblens aims to be feature-full and rock-solid stable, but it is still early in development (the term "beta" may be pushing it), so it is likely to have bugs or missing features. Bug reports, feature suggestions, and pull requests are all welcome and encouraged here on GitHub

Visit the contributing instructions for how you can help improve Weblens

Directories

Path Synopsis
cmd
Package docs Code generated by swaggo/swag.
Package docs Code generated by swaggo/swag.
env
log

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL