2mylink is a powerful, open-source, and self-hostable alternative to services like Linktree. It allows you to create a personalized and easily customizable page that houses all the important links you want to share. Built with a modern tech stack, it provides a robust platform for creators, influencers, and businesses.
β¨ Live Demo β¨
- π Link Management: Easily create, edit, and organize your links.
- β Dividers: Add dividers to visually structure and group your links.
- π€ User Accounts: Simple registration and account management system.
- π Google Authentication: Allow users to sign up and log in with their Google account for a seamless experience.
- π Admin Dashboard: A comprehensive admin view to manage users, themes, and site settings.
- π¨ Public Profile Customization:
- Theme Selection: Choose from a variety of pre-made themes to style your public page.
- Premium Themes: Offer exclusive, premium themes for subscribers.
- π± QR Code Generation: Instantly generate a QR code that points to your public profile, perfect for offline sharing.
- π§ Theme Management: Admins can create, update, and manage the availability of themes (both free and premium).
- π³ Subscription Management:
- Stripe Integration: Securely handle payments and subscriptions using Stripe.
- Users can subscribe to premium plans to unlock special features like exclusive themes.
- Responsive Design: A fully responsive and mobile-first interface that looks great on any device.
This project is built with a modern and powerful technology stack:
- Backend: Laravel
- Frontend: React with Inertia.js
- Database: Compatible with MySQL, PostgreSQL, etc.
- Payments: Stripe for secure payment and subscription processing.
Landing Page
|
Public Profile
|
Dashboard
|
Theme Selection
|
To get a local copy up and running with Docker, follow these simple steps.
Make sure you have the following installed on your system:
- Docker Desktop (includes Docker and Docker Compose)
- Git
-
Clone the repository
git clone https://github.com/angel-gmz/2mylink.git cd 2mylink -
Set up your environment file
- Copy the example
.envfile.
cp .env.example .env
- Generate your application key.
docker compose run --rm app php artisan key:generate
- Copy the example
-
Configure your
.envfile- The database configuration is already set for Docker (no changes needed for local development)
- Add your Stripe API keys (
STRIPE_KEY,STRIPE_SECRET) - Add your Google Client ID and Secret for social authentication
- The
APP_URLis set tohttp://localhost:8080
-
Build and start the Docker containers
docker compose up -d
This will start three containers:
2mylink_app- Laravel application (PHP-FPM)2mylink_nginx- Web server2mylink_postgres- PostgreSQL database
-
Run database migrations
docker compose exec app php artisan migrateOr use the helper script (Windows):
.\artisan.ps1 migrate -
Access your application
Your local instance should now be running at
http://localhost:8080
You can run Artisan commands in two ways:
Option 1: Using Docker Compose directly
docker compose exec app php artisan [command]Option 2: Using helper scripts (Windows)
PowerShell (recommended):
.\artisan.ps1 [command]
.\composer.ps1 [command]
.\npm.ps1 [command]Command Prompt (cmd):
.\artisan.bat [command]
.\composer.bat [command]
.\npm.bat [command]Examples:
# Run migrations
.\artisan.ps1 migrate
# Create a new migration
.\artisan.ps1 make:migration create_example_table
# Run seeders
.\artisan.ps1 db:seed
# Clear cache
.\artisan.ps1 cache:clear
# Install a package
.\composer.ps1 require vendor/package
# Install npm dependencies
.\npm.ps1 installdocker compose downTo stop and remove all data (including database):
docker compose down -vIf you prefer not to use Docker:
- Prerequisites: PHP 8.2+, Composer, Node.js, PostgreSQL
- Install dependencies:
composer install && npm install && npm run build - Configure
.env: Update database credentials for your local PostgreSQL - Run migrations:
php artisan migrate - Start server:
php artisan serve
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please make sure your code follows the project's coding standards and includes tests where applicable.
Distributed under the MIT License. See LICENSE.md for more information.
Angel GΓ³mez - @angel-gmz - angel-gomez@hotmail.com
Project Link: https://github.com/angel-gmz/2mylink



