How to Install Immich on VPS with 4GB RAM Without Machine Learning

Introduction

At ByteHosting, we understand the importance of having a reliable and cost-effective solution for photo backup and sharing. Immich is an excellent open-source tool that allows you to organize, share, and back up your photos seamlessly. However, deploying Immich on a VPS with limited resources, such as 4GB RAM, can be challenging, especially if you want to avoid complex machine learning dependencies that are not necessary for basic functionality. In this guide, we will walk you through how to install Immich on VPS without machine learning, focusing on a practical, beginner-friendly approach using Docker and Docker Compose on Ubuntu 24.04.

Prerequisites: VPS Setup and Requirements

Before we begin, ensure you have a VPS with at least 4GB of RAM. Our affordable Xeon 4GB VPS plans in Frankfurt am Main are perfect for this purpose. You should also have a clean installation of Ubuntu 24.04, as it provides a stable environment for Docker and Immich.

Additionally, make sure you have root or sudo access to your server. This will be necessary for installing dependencies and configuring the system.

Installing Docker and Docker Compose on Ubuntu 24.04

Docker is essential for containerizing Immich, making deployment straightforward and resource-efficient. To install Docker and Docker Compose, follow these steps:

  1. Update your package index:
  2. Install required packages:
  3. Add Docker’s official GPG key:
  4. Add Docker repository:
  5. Update package index again:
  6. Install Docker Engine:
  7. Verify Docker installation:
  8. Next, install Docker Compose:
  9. Now that Docker and Docker Compose are installed, we can set up Immich. We will create a Docker Compose file that defines the necessary services. Here’s a simple example tailored for a VPS without machine learning dependencies:
  10. Save this as docker-compose.yml in a directory of your choice. Replace your-server-ip with your actual server IP address.
  11. To deploy, run:
  12. This command will download the Immich image and start the container. The --disable-ml flag ensures that machine learning features are turned off, making it suitable for low-resource VPS environments.
  13. Once the container is running, access Immich through your web browser by navigating to http://your-server-ip:2283. You should see the Immich setup page. Follow the on-screen instructions to create your admin account.
  14. Since we disabled ML features, the setup process will be faster and less resource-intensive. You can now start uploading and sharing photos without worrying about heavy dependencies.
  15. After completing the setup, test your deployment by uploading some photos and sharing links. Ensure that the server handles the load smoothly and that the web interface is responsive.
  16. If you encounter issues, check the container logs with:
  17. This will help you identify any errors or misconfigurations.
    • Container fails to start: Verify Docker is running properly and that your docker-compose.yml file is correctly configured.
    • Cannot access Immich web interface: Check your server’s firewall settings and ensure port 2283 is open.
    • Performance issues: Since our VPS has limited resources, avoid enabling ML features and monitor resource usage with tools like htop.
  18. Deploying Immich on a VPS with 4GB RAM without machine learning is entirely feasible with Docker. By disabling ML features, we keep the resource usage low while still enjoying the core functionalities of photo backup and sharing. At ByteHosting, we provide reliable and affordable VPS options in Frankfurt am Main, making it easy for you to set up your own Immich server. Follow this guide, and you'll have your photo sharing platform up and running in no time!

Conclusion

Troubleshooting Common Issues

docker logs immich

Testing the Immich Deployment

Configuring Immich for Initial Setup

docker-compose up -d
version: '3.8'

services:
  immich:
    image: immich/immich:latest
    container_name: immich
    restart: unless-stopped
    ports:
      - "2283:2283"
    environment:
      - IMMICH_HOST=http://your-server-ip:2283
      - IMMICH_STORAGE_PATH=/app/storage
    volumes:
      - ./immich-data:/app/storage
    # Disable ML features to avoid heavy dependencies
    command: --disable-ml

Deploying Immich with Docker Compose

docker-compose --version
sudo chmod +x /usr/local/bin/docker-compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
docker --version
sudo apt install docker-ce docker-ce-cli containerd.io -y
sudo apt update
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
sudo apt update

Read more