How to Install SnapOtter on Your UGREEN NAS

How to Install SnapOtter on Your UGREEN NAS

SnapOtter is a fully self-hosted image manipulation platform that runs 100% locally in a single Docker container. It combines 47 image processing tools, powerful local AI models for background removal, upscaling, photo restoration, and more, plus flexible pipelines for building reusable batch workflows. Everything stays completely private on your hardware with zero cloud dependency, so your images never leave your NAS. It features a clean web UI for quick edits and a full REST API for automation and integration. In this step by step guide I will show you how to install SnapOtterĀ on your UGREEN NAS using Docker and Dockhand.

šŸ’”Note: This guide works perfectly with the latest SnapOtter v2.2.0Ā release.

šŸ’”Note: Check out my guide on how to Install SnapOtter on Your Synology NAS.

šŸ’”Note: Check out my guide on how to Install SnapOtter on Your Asustor NAS.

  • STEP 1

Please Support My work by Making a Donation.

  • STEP 2

InstallĀ Dockhand using my step by step guide. If you already have Dockhand installed on your UGREEN NAS, skip this STEP. Attention: Make sure you have installed the latest Dockhand version.

  • STEP 3

āš ļøMandatory: Add Read & Write Permissions to the Docker Folder.

  • STEP 4

Go toĀ Files and open the docker folder. Inside the docker folder, create one new folder and name it snapotter. Follow the instructions in the image below.
Note: Be careful to enter only lowercase, not uppercase letters.

SnapOtter UGREEN NAS Set up 1

  • STEP 5

Now create three new folders inside the snapotter folder that you have previously created at STEP 4 and name them data, db, storage.Ā Follow the instructions in the image below.
Note: Be careful to enter only lowercase, not uppercase letters.

SnapOtter UGREEN NAS Set up 2 new 2027

  • STEP 6

Open your browser and type in http://ugreen-ip-address:3866 to connect to your Dockhand container. On the left sidebar, click Stacks then + Create. Follow the instructions in the image below.

Dockhand add stack

  • STEP 7

In the Stack name field, type in snapotter. āš ļøWarning: Type in the name in lowercase letters. The installation process can take up to a few seconds/minutes. It will depend on your Internet speed connection. Follow the instructions in the image below.

Note: Copy Paste the code below in the Dockhand Compose Stack then click Create & Start.

services:
  snapotter-init:
    image: alpine:latest
    container_name: Snapotter-INIT #It will be marked as exited after the first deploy. This is a normal behavior.
    user: 0:0 #Do NOT change.
    volumes:
      - /volume1/docker/snapotter/data:/data:rw
    command: sh -c "chown -R 999:10 /data && chmod -R 777 /data && rm -rf /data/postgres.bootstrapping"
    restart: no #Do NOT change.

  snapotter:
    image: snapotter/snapotter:latest
    container_name: Snapotter
    ports:
      - 1349:1349
    environment:
      DATABASE_URL: postgres://snapotteruser:snapotterpass@postgres:5432/snapotter
      REDIS_URL: redis://redis:6379
      AUTH_ENABLED: true
      DEFAULT_USERNAME: marius
      DEFAULT_PASSWORD: mariushosting
    volumes:
      - /volume1/docker/snapotter/data:/data:rw
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_healthy
      snapotter-init:
        condition: service_completed_successfully
    restart: on-failure:5

  postgres:
    image: postgres:18-alpine
    container_name: Snapotter-DB
    user: 999:10
    healthcheck:
      test: ["CMD", "pg_isready", "-q", "-d", "snapotter", "-U", "snapotteruser"]
      interval: 10s
      timeout: 5s
      retries: 5
    environment:
      POSTGRES_USER: snapotteruser
      POSTGRES_PASSWORD: snapotterpass
      POSTGRES_DB: snapotter
    volumes:
      - /volume1/docker/snapotter/db:/var/lib/postgresql:rw
    restart: on-failure:5

  redis:
    image: redis:latest
    container_name: Snapotter-REDIS
    volumes:
      - /volume1/docker/snapotter/redis:/data:rw
    healthcheck:
      test: ["CMD", "redis-cli", "--raw", "incr", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5
    restart: on-failure:5

Note: Before you paste the code above in the Stack editor area below, change the value numbers for user in the command: with your own UID and GID values. (Follow my step by step guide on how to do this.) 999 is my personal UID value and 10 is my personal GID value. You have to type in your own values.
Note: Before you paste the code above in the Stack editor area below, change the value for DEFAULT_USERNAME. Type in your own username. marius is an example for a username.
Note: Before you paste the code above in the Stack editor area below, change the value for DEFAULT_PASSWORD. Type in your own password. mariushosting is an example for a password.
Note: Before you paste the code above in the Stack editor area below, change the value numbers for user with your own UID and GID values. (Follow my step by step guide on how to do this.) 999 is my personal UID value and 10 is my personal GID value. You have to type in your own values.

SnapOtter UGREEN NAS Set up 3 new 2027

  • STEP 8

If everything goes right, you will see the following message at the bottom right of your screen: ā€œCreated stack “snapotter”ā€œ.

Dockhand add stack successfully

  • STEP 9

On the left sidebar, click Containers. Identify your SnapOtterĀ container then click on ports 1349:1349. Follow the instructions in the image below. āš ļøNote: The Snapotter-INT container will be marked as exited. This is a normal behavior. This container is only needed to correctly set up the permissions to the data folder. Go straight to the next STEP.

SnapOtter UGREEN NAS Set up 4 new 2027

  • STEP 10

🟢Please Support My work by Making a Donation. Almost 99,9% of the people that install something using my guidesĀ forget to support my work, or justĀ ignoreĀ STEP 1. I’ve been very honest about this aspect of my work since the beginning: I don’t run any ADS, I don’t require subscriptions, paid or otherwise, I don’t collect IPs, emails, and I don’t have any referral links from Amazon or other merchants. I also don’t have any POP-UPs or COOKIES. I have repeatedly been told over the years how much I have contributed to the community. It’s something I love doing and have been honest about my passion since the beginning. But I also Need The Community to Support me Back to be able to continue doing this work.

  • STEP 11

Type in your own Username (DEFAULT_USERNAME) and Password (DEFAULT_PASSWORD) that you have previously added at STEP 7. Click Login. Follow the instructions in the image below.

Snapotter UGREEN NAS Set up 1 new 2027

  • STEP 12

Change your password. Type in your current Password then a new Password. Click Change password. Follow the instructions in the image below.

Snapotter UGREEN NAS Set up 2 new 2027

  • STEP 13

Click Don’t ask again. Follow the instructions in the image below.

Snapotter UGREEN NAS Set up 3 new 2027

  • STEP 14

At the top right of the page, click on the user icon then Settings. Follow the instructions in the image below.

Snapotter UGREEN NAS Set up 4 new 2027

  • STEP 15

On the left sidebar, click System Settings. Disable Anonymous Product Analytics. Follow the instructions in the image below.

Snapotter UGREEN NAS Set up 5 new 2027

  • STEP 16

Select your favorite Image tool. For example, I’m testing the Compress tool. Click Compress. Follow the instructions in the image below.

Snapotter UGREEN NAS Set up 6 new 2027

  • STEP 17

Upload your image. Follow the instructions in the image below.

Snapotter UGREEN NAS Set up 7 new 2027

  • STEP 18

Click Compress to compress your image. Follow the instructions in the image below.

Snapotter UGREEN NAS Set up 8 new 2027

  • STEP 19

Download your processed image! Click Download. Follow the instructions in the image below.

Snapotter UGREEN NAS Set up 9 new 2027

Enjoy SnapOtter on your UGREEN NAS!

šŸ†˜TROUBLESHOOTING

Note: If you want to run the SnapOtter container over HTTPS, check out How to Run Docker Containers Over HTTPS on Your UGREEN NAS.
šŸ†™Note/Update/Container: How to Update Your Docker Containers on UGREEN NAS Using Dockhand.
🐳Note: How to Create Docker Shortcuts on Desktop.
šŸ†•Note: How to Update Dockhand to the latest version.
šŸ†•Note: How to Clean Docker.

This post was updated on Tuesday / September 29th, 2026 at 8:20 AM

No sponsors, no corporations, no ads, no subscriptions, no membership tiers, no referral links, no pop-ups, no cookies, no tracking code. Just pure guides for the community from Marius.