Slink: A Self-Hosted Image Sharing Platform for Privacy-Conscious Users

Slink: A Self-Hosted Image Sharing Platform for Privacy-Conscious Users

Tired of using third-party image-sharing platforms that track your data or impose limitations? Slink is here to solve that. Built with Symfony and SvelteKit, Slink is an open-source, self-hosted image-sharing platform designed for sharing images with friends, family, colleagues, or even showcasing your artwork to the community.

In this guide, we’ll cover what Slink is, its key features, and how to install it on your own server.

Let’s dive in!

Slink is a self-hosted image-sharing platform that gives you complete control over your images. Whether you’re an artist, a developer, or someone who just wants to share photos privately, Slink offers a straightforward and secure way to host and share your images.

It’s particularly useful for:

  • 4Sharing personal photos with friends and family.
  • Showcasing artwork without relying on third-party platforms.
  • Hosting project screenshots for portfolios, blogs, and GitHub repositories.

Since it’s self-hosted, you control your data, privacy, and usage policies.

Slink is packed with features that make it a great choice for self-hosted image sharing:

  1. Authentication:
    • Users can sign up and log in securely.
  2. User Approval:
    • Admins can require user approval before allowing uploads. This helps maintain control over who can upload content.
  3. Image Upload:
    • Supports a variety of formats, including SVG, PNG, JPG, WEBP, BMP, ICO, and GIF.
  4. Community Platform:
    • Artists can use Slink to share their work with a wider community.
  5. Developer-Friendly:
    • Perfect for developers who want to self-host images for their projects, portfolios, or blogs.

These features make Slink versatile and useful for different types of users.


Here’s a step-by-step guide to installing Slink on your own server.

Prerequisites

Before you begin, make sure you have the following:

  • Docker and Docker Compose installed on your system.
  • Git installed.

You can install Docker and Git with these commands:

On Ubuntu/Debian:

sudo apt update
sudo apt install docker.io docker-compose git

On Fedora:

sudo dnf install docker docker-compose git

On Arch Linux:

sudo pacman -S docker docker-compose git

Start and enable Docker:

sudo systemctl start docker
sudo systemctl enable docker

First, clone the Slink GitHub repository to your server:

git clone https://github.com/andrii-kryvoviaz/slink.git
cd slink

Step 2: Configure Environment Variables

Slink comes with a sample .env file. Copy it and modify the settings as needed:

cp .env.example .env

Edit the .env file with your preferred text editor (e.g., nano):

nano .env

Update the following values:

  • Database settings (e.g., DB_USER, DB_PASSWORD)
  • Application URL (e.g., APP_URL)

Save and exit the editor (Ctrl + O, then Ctrl + X).


Use Docker Compose to build and run the application:

docker-compose up --build -d

This command will:

  • Pull the necessary Docker images.
  • Build the application.
  • Start the containers in detached mode (-d).

Once the containers are running, access Slink in your web browser at:

http://localhost:8080

If you’re hosting it on a remote server, replace localhost with your server’s IP address or domain name.


Step 5: Create an Admin User

To create an admin user, run the following command in the Slink container:

docker-compose exec php php bin/console app:create-admin

Follow the prompts to set up your admin account.


Step 6: Start Sharing Images

Now that Slink is up and running, you can:

  • Sign up or log in to your account.
  • Upload images in supported formats (SVG, PNG, JPG, WEBP, BMP, ICO, GIF).
  • Approve new users if you enabled the user approval feature.

Your self-hosted image-sharing platform is ready!


Final Thoughts

Slink is a powerful, open-source solution for anyone looking to share images without relying on third-party platforms. Whether you’re an artist, a developer, or someone who values privacy, Slink gives you full control over your images.

With features like authentication, user approval, and support for various image formats, Slink makes self-hosting simple and secure.

Try it out and take back control of your image-sharing experience!

Happy self-hosting! 📸✨

GitHub - andrii-kryvoviaz/slink: Self-hosted image sharing service.
Self-hosted image sharing service. Contribute to andrii-kryvoviaz/slink development by creating an account on GitHub.







Open-source Apps

9,500+

Medical Apps

500+

Lists

450+

Dev. Resources

900+

Read more