Easy and simple self-hosted bookmark / snippet management tool.
Clone or download
Rudi Olckers
Rudi Olckers Merge branch 'updates-may2018'
* updates-may2018:
  Revert composer.lock file.
  Update npm and php modules, tweak readme php dependency.
Latest commit e03f619 May 5, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
bootstrap
config
database
docker
public
resources
storage
tests
.editorconfig
.env.docker
.env.example
.env.testing
.env.travis
.gitattributes
.gitignore
.htaccess
.jshintignore
.travis.yml
README.md
artisan
composer.json
composer.lock
docker-compose.sample.yml
elixir-extensions.js
gulpfile.js
package-lock.json
package.json
phpunit.xml
server.php

README.md

Bookmarks - Easy bookmark manager

Easy (and fast) self-hosted bookmark manager.

alt text

Demo

You can test easy-bookmark-manager here : demo

To access use admin as login and nimda as password.

You can also download easy-bookmark-manager chrome plugin

And use this url : http://bookmarkdemo.miceli.click/ as target

target

Requirements

  • webserver (apache2, nginx)
  • php 5.5.9+
  • Laravel 5.2
  • mysql (or laravel supported database)

Installation

Step 1:

$ git clone git@github.com/devimust/easy-bookmark-manager.git
$ cd easy-bookmark-manager
$ composer install
$ npm install
$ gulp --production

Step 2: Update database details inside .env file.

Step 3:

$ php artisan migrate --seed #this will create the default admin user

Step 4: Update .env file with APP_ENV=production. Ensure webserver user (apache, www-data or nginx) can read and write to the ./storage and ./bootstrap/cache folders recursively.

Step 5: Navigate to http://insert-your-domain.com/ and login with email admin and password nimda. Go add some bookmarks or navigate to http://insert-your-domain.com/admin/users to create more users and important update the admin user's password.

Step 6: Optional security measure - to disable the /admin section set ADMIN_ENABLED=false inside .env file.

Example apache virtual host file

<VirtualHost *:80>
    ServerName <my-bookmarks.domain.com>
    DocumentRoot /var/www/{PROJECT_FOLDER}/public
    <Directory "/var/www/{PROJECT_FOLDER}/public">
        Options Indexes FollowSymLinks
        AllowOverride All
        Options -Indexes
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Development

I welcome any feedback and contributions.

Local native

# update .env with APP_ENV=local and APP_DEBUG=false
$ composer install
$ npm install
$ gulp
$ vendor/bin/phpunit
$ gulp watch

Local docker LAMP stack

# run ./docker/prep-dev.sh
# update .env with APP_ENV=local and APP_DEBUG=false
docker-compose build
docker-compose up
docker-compose run --rm composer install
docker-compose run --rm npm install
docker-compose run --rm gulp --production
docker-compose run --rm artisan key:generate
docker-compose run --rm phpunit
docker-compose run --rm artisan migrate:refresh --seed
docker-compose run --rm artisan db:seed --class=DummyBookmarksSeeder

Local docker LAMP stack using release candidate

Download latest release candidate and decompress into a folder, then

cp docker-compose.sample.yml docker-compose.yml
cp .env.docker .env
docker-compose build
docker-compose up
docker-compose run --rm artisan key:generate
docker-compose run --rm artisan migrate:refresh --seed
docker-compose run --rm artisan db:seed --class=DummyBookmarksSeeder

goto http://localhost:8000/ and login with admin:nimda

Chrome Extension

Easy Bookmark Manager Extension

Source

Dev Dependencies and Credits

  • jQuery 1.12
  • Angular & Angular Route
  • Bootswatch
  • Bootstrap 3
  • FontAwesome
  • NodeJS
  • Composer
  • Gulp
  • Select2
  • Sass
  • Ace
  • Normalize.css

Todos

  • Reset password via email

License

MIT