mirror of
https://github.com/Sonny93/my-links.git
synced 2025-12-08 14:43:24 +00:00
8b176e3d0e3689154e3efb5227090688c5c1ed39
MyLinks
Another bookmark manager that lets you manage and share
your favorite links in an intuitive interface
Table of Contents
Main Features
- Organize bookmarks with collections: Keep your links tidy and easily accessible by grouping them into customizable collections.
- Intuitive link management: Add, edit, and manage your bookmarks effortlessly with a user-friendly interface.
- Powerful search functionality: Quickly locate any bookmark using the robust search feature, enhancing your productivity.
- Privacy-focused and open-source: Enjoy a secure, transparent experience with an open-source platform that prioritizes your privacy.
- Browser extension (coming soon): Seamlessly integrate MyLinks into your browsing experience with the upcoming official browser extension.
- Shareable collections: Easily share your curated collections with others, facilitating collaboration and information sharing.
- Community-driven development: Contribute to MyLinks by suggesting improvements and features, helping to shape the tool to better meet user needs.
Getting Started
Setup
Copy the example.env file to .env and edit the properties:
cp example.env .env
Development
Docker
make dev
PNPM
# reset database and (force) apply all migrations
node ace migration:fresh
# start dev server
pnpm run dev
Start as prod
Docker
make prod
PNPM
# create production build
pnpm run build
# go to the build folder
cd build
# clone your .env
cp ../.env .
# then start the production build
pnpm run start
Configuration
Generate app_key
# generate a random app key
openssl rand -base64 32
GitHub Actions
Env var to define :
DOCKER_USERNAME="Your docker username"
DOCKER_PASSWORD="Your docker password"
SSH_HOST="Your SSH host"
SSH_PORT="Your SSH port" # use port 22 if you are using the default value
SSH_USERNAME="Your SSH username" # private key
SSH_KEY="Your SSH key" # see below
As a good practice, SSH Key should be generated on local machine instead of target/server/remote machine
Generate :
ssh-keygen -t rsa -b 4096
# you can save the file in your current folder since you're not supposed to use it personnaly (its purpose is only to be used by CI/CD)
Copy :
cat ./id_rsa.pub | ssh b@B 'cat >> ~/.ssh/authorized_keys'
# or
ssh-copy-id -i ./id_rsa.pub user@host
Source: https://github.com/appleboy/ssh-action#setting-up-a-ssh-key
Contributing
We welcome contributions! Please visit our Trello board for project management and roadmap details. You can contribute by:
- Creating issues for bugs, features, or discussions.
- Submitting pull requests (PRs) with bug fixes, new features, or documentation updates.
For detailed contribution guidelines, refer to the CONTRIBUTING.md file.
License
This project is licensed under the GPLv3 License.
Languages
TypeScript
94.9%
CSS
3.2%
JavaScript
0.6%
Dockerfile
0.5%
Edge
0.5%
Other
0.3%
