Skip to content

Docker Compose Installation

Before you begin, make sure you have Docker and Docker Compose installed on your system.

  1. Create a new directory for Slink and navigate to it:

    Terminal window
    mkdir slink-app && cd slink-app
  2. Create a docker-compose.yml file with the following content:

    services:
    slink:
    image: anirdev/slink:latest
    container_name: slink
    # This container runs as root user by default. Uncomment the "user: slink" line below to run as non-root user.
    # See https://docs.slinkapp.io/security/02-non-root-container-user/ for additional details.
    # user: slink
    environment:
    # Your timezone
    - TZ=UTC
    # Your application hostname (Required for cookies)
    - ORIGIN=https://your-domain.com
    # Require user approval before they can upload images
    - USER_APPROVAL_REQUIRED=true
    # User password requirements
    - USER_PASSWORD_MIN_LENGTH=8
    - USER_PASSWORD_REQUIREMENTS=15 # bitmask of requirements
    # Automatically create first admin user (optional - remove after initial setup)
    # - ADMIN_USERNAME=admin
    # - ADMIN_PASSWORD=YourSecurePassword123
    # Maximum image size allowed to be uploaded (up to 1000M)
    - IMAGE_MAX_SIZE=15M
    # Image processing settings
    - IMAGE_STRIP_EXIF_METADATA=true
    - IMAGE_COMPRESSION_QUALITY=80
    # Storage provider to use (may require additional configuration variables for different providers, see below)
    - STORAGE_PROVIDER=local
    volumes:
    # Persist the database
    - ./slink/var/data:/app/var/data
    # Persist the uploaded images
    - ./slink/images:/app/slink/images
    ports:
    # Expose the application on port 3000
    - '3000:3000'
  3. Run the following command to start the Slink application:

    Terminal window
    docker-compose up -d
  4. Set up your first admin user following the First User Setup guide.

  5. Open your browser and navigate to https://your-domain.com/profile/signup to create a new account (or login if you used automatic admin creation).

  6. Login to the Slink application and start uploading images.

The configuration above uses local storage, which is the default. To store images on a network share (SMB/CIFS) or in Amazon S3 or an S3-compatible service, set STORAGE_PROVIDER and its related variables. See the Storage Providers reference for full setup and examples.