aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorLibravatar vnugent <public@vaughnnugent.com>2024-09-13 18:01:10 -0400
committerLibravatar vnugent <public@vaughnnugent.com>2024-09-13 18:01:10 -0400
commitac4f7f1140bd0e54cc905ae81a15a2d066d1a194 (patch)
tree1bc6274d05c451addb024326639ccedd617a80b1 /README.md
parentc2abbf9a2c8d430d619199d6e5eeff256dd44678 (diff)
Squashed commit of the following:HEADmaster
commit 7dd996ccfacf77bed1bb9d696324bce403ff0226 Author: vnugent <public@vaughnnugent.com> Date: Fri Sep 13 13:51:43 2024 -0400 chore(app): Package updates & readme commit f0d91ad12e3a01118357b0cbf2aabbcd7464028f Author: vnugent <public@vaughnnugent.com> Date: Wed Jul 24 18:25:07 2024 -0400 chore: package updates & compose build commit 32ec903006813469e48824c6b20d33df0fc518ba Author: vnugent <public@vaughnnugent.com> Date: Mon Jun 24 17:46:01 2024 -0400 fix missing parenthasese for content length param commit bb585ffb388161258cf3ad61c390eca8beadf4e3 Merge: 5dc6dec 18e6823 Author: vnugent <public@vaughnnugent.com> Date: Mon Jun 24 17:35:18 2024 -0400 Merge branch 'master' into develop
Diffstat (limited to 'README.md')
-rw-r--r--README.md87
1 files changed, 22 insertions, 65 deletions
diff --git a/README.md b/README.md
index 998109e..6f00840 100644
--- a/README.md
+++ b/README.md
@@ -42,91 +42,48 @@ I built Simple-Bookmark mostly because I didn't want the container lock-in. I al
- Bookmark quick-add for web browsers
- Invite users with share links
- Supports (and tested) SQLite, SQLServer, MySQL/MariaDB databases
-- It's quick <300ms load time & under 150kB with compression
+- It's quick, <300ms load time & under 150kB with compression
- It's small, 127mb Docker image
- Argon2Id password hashing with secure defaults
- Supports enterprise services: HashiCorp Vault, SQLServer, Auth0, and Redis
- Built-in TLS (TLS is required)
-## Deployment overview
-__You need to read the [quick-start guide](https://www.vaughnnugent.com/resources/software/articles/ed9285b63922fd17b5126051e3a2e592cacecf33) to fully configure Simple-Bookmark but here are the basic steps.__
+## Get Started
+__Please read the [quick start guide](https://www.vaughnnugent.com/resources/software/articles?tags=docs,_Simple-Bookmark)__
->[!NOTE]
-> Simple-bookmark was built bare-metal as the primary target, this is because I believe users should have the support to deploy open source apps easily outside of a container. So while a container deployment is an option, the container is actually built from the Linux-x64 package during CI build time.
+⚠ These are only some quick and dirty commands to give you the gist of the install process.
-### Container install
-Download the latest alpine build package: [sb-alpine3.19-oci.tgz](https://www.vaughnnugent.com/resources/software/modules/Simple-Bookmark?p=Simple-Bookmark)
-
-This archive contains all the software needed to build the image locally. It also comes with a docker-compose.yaml file for easy setup and deployment. Here is the gist:
-``` shell
+### Container
+Download the [sb-alpine3.19-oci.tgz package](https://www.vaughnnugent.com/resources/software/modules/Simple-Bookmark?p=Simple-Bookmark)
+```
+mkdir simple-bookmark && cd simple-bookmark/
tar -xzf sb-alpine3.19-oci.tgz
-docker build . -t vnuge/simple-bookmark
-docker-compose up -d
+podman-compose build
+podman-compose up -d
```
- _Of course there is more setup involved, so take a look at the docs for more info_
- _This container does not need root permissions to run_
-
-The image should be about 127mb when built! I'm also hoping to get it down even smaller in the future. You may also use Podman in the same format, simply substitute the word `docker` with `podman` in the previous commands.
-
-### Bare-metal install
->[!NOTE]
->Bare metal installs will always have support, but it is far more difficult to account for all operating systems and users competencies for installers, compilers, operating systems and so on
-Please make sure yo read the quick-start guide for full installs. The following is a basic overview of how to install, build, and run the release server application on your machine. Each archive includes a Tasfile.yaml file that is used to build and run your application with just a few commands.
-
-#### Prerequisites
-- Download the package archive for your OS from my [builds page](https://www.vaughnnugent.com/resources/software/modules/Simple-Bookmark?p=Simple-Bookmark)
-- Install [go-task](https://taskfile.dev/installation) globally on your system
-- Unzip the archive. Example: `tar xzf linux-x86_64-release.tgz`
-
-#### Non Windows only
-``` shell
-sudo task setup-<apt | apk | dnf> #installs required tools and compiles libraries
-```
-Optionally create a self-signed TLS certificate using openssl and exports it to the proper location
-``` shell
-sudo task create-cert #runs an openssl command
-```
-Optionally generate a password pepper file
-``` shell
-task create-pepper #creates a pepper file in the secrets directory
-```
-Optionally set file permissions
-```shell
-chmod -R 0750 . && chmod -R 0770 data/ #only data dir needs write permissions
-```
-#### Windows only
-``` shell
-task setup #runs all setup rules
-```
-> [!IMPORTANT]
-> By default this copies pre-compiled C libraries, you must be using Windows version 1904 or later. Quick start guide has more info, if you need to build the libraries yourself.
+### Bare Metal
+__Windows users please see quick start guide__
-#### First start
-Starting the server for the first time you'll want to enable setup mode to allow admin registration for the first time. This is operation insecure, please read the quick-start guide.
-``` shell
-task -- --setup #default task runs the server
+Download the [realease package](https://www.vaughnnugent.com/resources/software/modules/Simple-Bookmark?p=Simple-Bookmark) for your os
```
-Normal operation
-``` shell
-task
+mkdir simple-bookmark && cd simple-bookmark/
+tar -xzf <your-os>-release.tgz
+task setup-<dnf | apt | apk> #requires root perms to install apps
+task create-cert #requires sudo for openssl command
+task create-pepper #uses openssl to create a random string and saves it to a file secrets/pepper.txt
```
-## Links & Support
-[Package downloads](https://www.vaughnnugent.com/resources/software/modules/Simple-Bookmark) - Archives, checksums, signatures, and module source code
-[Documentation](https://www.vaughnnugent.com/resources/software/articles?tags=docs,_Simple-Bookmark) - quick-start guides, user guides and more (work in progress)
-
-
-### Compatibility Notes
+## Compatibility Notes
Simple-Bookmark uses far more aggressive input sensitization than Linkding and others. I am still working out a happy medium on aggressive safety and usability. When importing bookmarks, you may consider selecting the `fix errors` checkbox that will attempt to correct your HTML file import by replacing illegal characters with white-space.
-### License
+## License
The software in this repository is licensed under the GNU Affero General Public License version 3 (or any later version). See the LICENSE files for more information.
-### Contact
+## Contact
Head over to my [website](https://www.vaughnnugent.com) for my contact info/community.
-### Other open source notices
+## Other open source notices
This project was initially built in about a week using [Flowbite](https://flowbite.com). I really tried to push myself with a new front-end application from scratch using a new component library. I will slowly clean up the repeated tailwindcss utilities to make classes more unified throughout the app, but it's low priority. So big shout out to the Flowbite project and their free components and svg icons.
This project was also heavily inspired by the [Linkding](https://github.com/sissbruecker/linkding) project which I used for years until I wanted to escape the Docker container and add some new features and speed it up! Thanks for the awesome inspiration!