How to Install Formbricks on Your Synology NAS

How to Install Formbricks on Your Synology NAS

Formbricks is a solution for in-product micro-surveys that promises to supercharge your product experience. Formbricks provides a free and open source surveying platform. Gather feedback at every point in the user journey with beautiful in-app, website, link and email surveys. In this step by step guide I will show you how to install Formbricks on your Synology NAS using Docker & Portainer.

💡Note: This guide works perfectly with the latest Formbricks v5.4.1 release.

  • STEP 1

Please Support My work by Making a Donation.

  • STEP 2

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

  • STEP 3

Make sure you have a synology.me Wildcard Certificate. Follow my guide to get a Wildcard Certificate. If you already have a synology.me Wildcard certificate, skip this STEP.

  • STEP 4

Go to Control Panel / Login Portal / Advanced Tab / click Reverse Proxy. Follow the instructions in the image below.

Formbricks Synology NAS Set up 1

  • STEP 5

Now click the “Create” button. Follow the instructions in the image below.

Formbricks Synology NAS Set up 2

  • STEP 6

After you click the Create button, the window below will open. Follow the instructions in the image below.

On the General area, set the Reverse Proxy Name description: type in Formbricks. After that, add the following instructions:

Source:
Protocol: HTTPS
Hostname: formbricks.yourname.synology.me
Port: 443

Check Enable HSTS

Destination:
Protocol: HTTP
Hostname: localhost
Port: 3774

Formbricks Synology NAS Set up 3

  • STEP 7

On the Reverse Proxy Rules, click the Custom Header tab. Click Create and then, from the drop-down menu, click WebSocket. After you click on WebSocket, two Header Names and two Values will be automatically added. Click Save. Follow the instructions in the image below.

Synology Proxy WebSocket

  • STEP 8

Go to Control Panel / Network / Connectivity tab/ Check Enable HTTP/2 then click Apply. Follow the instructions in the image below.

Formbricks Synology NAS Set up 4

  • STEP 9

Go to Control Panel / Security / Advanced tab/ Check Enable HTTP Compression then click Apply. Follow the instructions in the image below.

Formbricks Synology NAS Set up 5

  • STEP 10

Go to Control Panel / Login Portal / Advanced Tab / click Reverse Proxy. Follow the instructions in the image below.

Formbricks Synology NAS Set up 8 new 2031

  • STEP 11

Now click the “Create” button. Follow the instructions in the image below.

Formbricks Synology NAS Set up 7 new 2031

  • STEP 12

After you click the Create button, the window below will open. Follow the instructions in the image below.

On the General area, set the Reverse Proxy Name description: type in Rustfs-Bricks. After that, add the following instructions:

Source:
Protocol: HTTPS
Hostname: rustfsbricks.yourname.synology.me
Port: 443

Check Enable HSTS

Destination:
Protocol: HTTP
Hostname: localhost
Port: 9540

Formbricks Synology NAS Set up 9 new 2031

  • STEP 13

On the Reverse Proxy Rules, click the Custom Header tab. Click Create and then, from the drop-down menu, click WebSocket. After you click on WebSocket, two Header Names and two Values will be automatically added. Click Save. Follow the instructions in the image below.

  • STEP 14

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

Formbricks Synology NAS Set up 6

  • STEP 15

Now create six new folders inside the formbricks folder that you have previously created at STEP 14 and name them db, redis, rustfsdata, rustfslogs, saml, uploads. Follow the instructions in the image below.
Note: Be careful to enter only lowercase, not uppercase letters.

Formbricks Synology NAS Set up 17 new 2031

  • STEP 16

Follow my step by step guide on how to activate SMTP for your Gmail account. This step is mandatory. Note: If you don’t want to use the easiest way for SMTP with Google and you already have SMTP details from your own Mail Server, you can just skip this STEP and use your personalized email SMTP details instead.

  • STEP 17

Log into Portainer using your username and password. On the left sidebar in Portainer, click on Home then click inside the local rectangle. Follow the instructions in the image below.

Portainer Add Stack NAS 2027

On the left sidebar in Portainer, click on Stacks then + Add stack. Follow the instructions in the image below.

Portainer Add Stack NAS 2

  • STEP 18

In the Name field type in formbricks. Follow the instructions in the image below.

Note: Copy Paste the code below in the Portainer Stacks Web editor.

services:
  redis:
    image: redis
    container_name: Formbricks-REDIS
    security_opt:
      - no-new-privileges:true
    read_only: true
    user: 1026:100
    healthcheck:
      test: ["CMD-SHELL", "redis-cli ping || exit 1"]
    volumes:
      - /volume1/docker/formbricks/redis:/data:rw
    environment:
      TZ: Europe/Bucharest
    restart: on-failure:5

  db:
    image: pgvector/pgvector:pg18
    container_name: Formbricks-DB
    hostname: formbricks-db
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD", "pg_isready", "-q", "-d", "formbricks", "-U", "formbricksuser"]
      timeout: 45s
      interval: 10s
      retries: 10
    volumes:
      - /volume1/docker/formbricks/db:/var/lib/postgresql:rw
    environment:
      POSTGRES_DB: formbricks
      POSTGRES_USER: formbricksuser
      POSTGRES_PASSWORD: formbrickspass
    restart: on-failure:5

  rustfs:
   image: rustfs/rustfs:latest
   container_name: Formbricks-RustFS
   user: 0:0
   healthcheck:
      test: ["CMD-SHELL", "nc -z 127.0.0.1 9000 || exit 1"]
      interval: 10s
      timeout: 5s
      retries: 3
      start_period: 90s
   environment:
     RUSTFS_SERVER_DOMAINS: rustfsbricks.yourname.synology.me
     RUSTFS_CONSOLE_CORS_ALLOWED_ORIGINS: "*"
     RUSTFS_CORS_ALLOWED_ORIGINS: "*"
     RUSTFS_CONSOLE_ENABLE: true
     RUSTFS_ACCESS_KEY: marius
     RUSTFS_SECRET_KEY: mariushosting
   volumes:
    - /volume1/docker/formbricks/rustfsdata:/data:rw
    - /volume1/docker/formbricks/rustfslogs:/logs:rw
   ports:
    - 9541:9000
    - 9540:9001
   restart: on-failure:5

  formbricks:
    image: ghcr.io/formbricks/formbricks:latest
    restart: on-failure:5
    container_name: Formbricks
    depends_on:
      - db
      - redis
      - rustfs
    ports:
      - 3774:3000
    volumes:
      - /volume1/docker/formbricks/uploads:/home/nextjs/apps/web/uploads/:rw
      - /volume1/docker/formbricks/saml:/home/nextjs/apps/web/saml-connection:rw
    environment:
      WEBAPP_URL: https://formbricks.yourname.synology.me
      NEXTAUTH_URL: https://formbricks.yourname.synology.me
      DATABASE_URL: "postgresql://formbricksuser:formbrickspass@formbricks-db:5432/formbricks?schema=public"
      NEXTAUTH_SECRET: dOxZYTTZgXKMHkqLBIQVImayQXAVWdzGBPuFJKggzcgvgPJPXpWzqzKaUOIOGGIr
      HUB_API_KEY: CTZHVLTgXtDEDUAuUZaDurpGPtZYEcEYVzWvDUHAmJxUoVHQGwPhmIiWfPuDFlrX
      CUBEJS_API_SECRET: 30fc3f00a323c728c81d1d3ef2bf207ceb14e00bf35998b651aa9f91777be190
      CRON_SECRET: c68e9d73282ed33f632c8dae2690061426e6df4aa243f6e4f0da96601bb6f63f
      ENCRYPTION_KEY: 5143d27b56ad198ad8fec4f180a7aaf206c8b8c3a63b0cf62d0f79a4071cf84a
      HUB_API_URL: http://localhost:8080
      CUBEJS_API_URL: http://localhost:4000
      CUBEJS_JWT_ISSUER: formbricks-web
      CUBEJS_JWT_AUDIENCE: formbricks-cube
      POSTGRES_PASSWORD: formbrickspass
      REDIS_URL: redis://redis:6379
      # ENTERPRISE_LICENSE_KEY:
      EMAIL_VERIFICATION_DISABLED: 1 #Set to 0 to enable Email verification for new signups.
      PASSWORD_RESET_DISABLED: 0 #Set to 1 to enable Password Reset.
      SIGNUP_DISABLED: 0 #Set to 1 to disbale Signups.
      INVITE_DISABLED: 0 #Set to 1 to disable Invites
      MAIL_FROM: Your-own-gmail-address
      SMTP_USER: Your-own-gmail-address
      SMTP_PASSWORD: Your-own-app-password
      SMTP_HOST: smtp.gmail.com
      SMTP_PORT: 465
      SMTP_SECURE_ENABLED: 1
      S3_ACCESS_KEY: marius
      S3_SECRET_KEY: mariushosting
      S3_REGION: us-east-1
      S3_BUCKET_NAME: formbricks
      S3_ENDPOINT_URL: https://rustfsbricks.yourname.synology.me
      S3_FORCE_PATH_STYLE: 1
      # SHORT_URL_BASE:
      # EMAIL_AUTH_DISABLED:
      # PRIVACY_URL:
      # TERMS_URL:
      # IMPRINT_URL:
      # GITHUB_ID:
      # GITHUB_SECRET:
      # GOOGLE_CLIENT_ID:
      # GOOGLE_CLIENT_SECRET:
      # DEFAULT_TEAM_ID:
      # DEFAULT_TEAM_ROLE: admin
      # ONBOARDING_DISABLED: 1

Note: Before you paste the code above in the Web 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.) 1026 is my personal UID value and 100 is my personal GID value. You have to type in your own values.
Note: Before you paste the code above in the Web editor area below, change the value for TZ. (Select your current Time Zone from this list.)
Note: Before you paste the code above in the Web editor area below, change the value for RUSTFS_SERVER_DOMAINS and type in your own synology.me DDNS without https:// at the beginning that you have previously created at STEP 12.
Note: Before you paste the code above in the Web editor area below, change the value for RUSTFS_ACCESS_KEY and S3_ACCESS_KEY type in your own username. marius is an example for a username. Both usernames should be the same.
Note: Before you paste the code above in the Web editor area below, change the value for RUSTFS_SECRET_KEY and S3_SECRET_KEY and type in your own password. mariushosting is an example for a password. Both passwords should be the same.
Note: Before you paste the code above in the Web editor area below, change the value for WEBAPP_URL and type in your own synology.me DDNS with https:// at the beginning that you have previously created at STEP 6.
Note: Before you paste the code above in the Web editor area below, change the value for NEXTAUTH_URL and type in your own synology.me DDNS with https:// at the beginning that you have previously created at STEP 6.
Note: Before you paste the code above in the Web editor area below, change the value for NEXTAUTH_SECRET. (Generate your own Random 64 length NEXTAUTH_SECRET.)
Note: Before you paste the code above in the Web editor area below, change the value for HUB_API_KEY. (Generate your own Random 64 length ENCRYPTION_KEY.)
Note: Before you paste the code above in the Web editor area below, change the value for CUBEJS_API_SECRET. (🟢Click this Link to Generate Your Own Free CRON SECRET.) (In the prompt, type in the following text: openssl rand -hex 32 then hit enter on your Keyboard). 🖼️Check Example Screenshot and copy your CUBEJS_API_SECRET.
Note: Before you paste the code above in the Web editor area below, change the value for CRON_SECRET. (🟢Click this Link to Generate Your Own Free CRON SECRET.) (In the prompt, type in the following text: openssl rand -hex 32 then hit enter on your Keyboard). 🖼️Check Example Screenshot and copy your CRON_SECRET.
Note: Before you paste the code above in the Web editor area below, change the value for ENCRYPTION_KEY. (🟢Click this Link to Generate Your Own Free CRON SECRET.) (In the prompt, type in the following text: openssl rand -hex 32 then hit enter on your Keyboard). 🖼️Check Example Screenshot and copy your ENCRYPTION_KEY.
Note: Before you paste the code above in the Web editor area below, change the value for MAIL_FROM and type in your own Gmail address. STEP 16.
Note: Before you paste the code above in the Web editor area below, change the value for SMTP_USER and type in your own Gmail address. STEP 16.
Note: Before you paste the code above in the Web editor area below, change the value for SMTP_PASSWORD and type in your own Gmail app password. STEP 16. ⚠️Warning: Do NOT confuse with your own Gmail password. This is the Gmail APP password.
Note: Before you paste the code above in the Web editor area below, change the value for S3_ENDPOINT_URL and type in your own synology.me DDNS with https:// at the beginning that you have previously created at STEP 12.

Formbricks Synology NAS Set up 8 new 2030

  • STEP 19

Scroll down on the page until you see a button called Deploy the stack. Click on it. Follow the instructions in the image below. The installation process can take up to a few minutes. It will depend on your Internet speed connection.

Formbricks Synology NAS Set up 10 new 2031

  • STEP 20

If everything goes right, you will see this message at the top right of your screen: “Success Stack successfully deployed“.

Portainer Success Stack NAS

  • STEP 21

🟢Please Support My work by Making a Donation. You’ve just followed a detailed, ad-free guide that took real time and testing to create. I don’t run ads, I don’t sell subscriptions, I don’t track you, and I don’t use affiliate links. I simply create these guides because I love helping the community. But this work only continues if the community supports it back. If this guide saved you time, frustration or money, please take 30 seconds and make a donation.

  • STEP 22

The installation process can take up to a few seconds/minutes. It will depend on your Internet speed connection. Now open your browser and type in your HTTPS/SSL certificate like this https://formbricks.yourname.synology.me In my case it’s https://formbricks.mariushosting.synology.me If everything goes right, you will see the RustFS Login page. Switch the theme to Dark. In the Account area, type in your own Username (RUSTFS_ACCESS_KEY) that you have previously added at STEP 18. In the Key area, type in your own Password (RUSTFS_SECRET_KEY) that you have previously added at STEP 18. Click Login. Follow the instructions in the image below.

Formbricks Synology NAS Set up 11 new 2031

  • STEP 23

On the left sidebar, click Browser. Click + Create Bucket. Type in formbricks as the name for the Bucket. Click Create. Follow the instructions in the image below.

Formbricks Synology NAS Set up 12 new 2031

  • STEP 24

🟢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 25

Please wait approximately 10 minutes or you will get a blank synology error page if you try to connect too soon and unhealthy container. Now open your browser and type in your HTTPS/SSL certificate like this https://formbricks.yourname.synology.me In my case it’s https://formbricks.mariushosting.synology.me If everything goes right, you will see the Formbricks Login Page. Click Get started. Follow the instructions in the image below.

Formbricks Synology NAS Set up 10 new 2025

  • STEP 26

Click Continue with Email to Create your Administrator user. Follow the instructions in the image below.

Formbricks Synology NAS Set up 11 new 2030

  • STEP 27

Type in your own details, then click Continue with Email. Follow the instructions in the image below.

Formbricks Synology NAS Set up 12 new 2030

  • STEP 28

Click Log in. If you get some red error message when creating new user, ignore it the user is already created. Follow the instructions in the image below.

Formbricks Synology NAS Set up 13 new 2030

  • STEP 29

Click Login with Email. Follow the instructions in the image below.

Formbricks Synology NAS Set up 14 new 2030

  • STEP 30

Type in your own Email and Password that you have previously created at STEP 27, then click Login with Email. Follow the instructions in the image below.

Formbricks Synology NAS Set up 15 new 2030

  • STEP 31

Type in a name for your organization, then click Continue. Follow the instructions in the image below.

Formbricks Synology NAS Set up 16 new 2025

  • STEP 32

Invite a new member to your Organization via email, then click Continue or Skip to invite later. Follow the instructions in the image below.

Formbricks Synology NAS Set up 17 new 2030

  • STEP 33

Use a predefined template or Start from scratch. After your selection, go straight to the next STEP.

Formbricks Synology NAS Set up 18 new 2030

  • STEP 34

Your Formbricks dashboard at a glance!

Formbricks Synology NAS Set up 19 new 2030

  • STEP 35

Confirm your email. Go to your gmail account then click Verify Email. ⚠️Note: You will receive the verification email only if you have correctly added MAIL_FROM, SMTP_USER and SMTP_PASSWORD at STEP 18. Go straight to the next STEP.

Formbricks Synology NAS Set up 17 new 2030

  • STEP 36

On the left sidebar, click Settings. Follow the instructions in the image below.

Formbricks Synology NAS Set up 13 new 2031

  • STEP 37

Click Appearance. Upload your own Logo. Follow the instructions in the image below.

Formbricks Synology NAS Set up 14 new 2031

Enjoy Formbricks!

Note: Check the full Formbricks documentation!

🆘TROUBLESHOOTING

If you encounter issues by using this container, make sure to check out the Common Docker issues article.

Fix: If your Gmail notifications don’t work, change the smtp port at STEP 14 from SMTP_PORT: 587 to SMTP_PORT: 465 then update the stack.

Note: Can I run Docker on my Synology NAS? See the supported models.
Note: How to Back Up Docker Containers on your Synology NAS.
Note: Find out how to update the Formbricks container with the latest image.
Note: How to Free Disk Space on Your NAS if You Run Docker.
Note: How to Schedule Start & Stop For Docker Containers.
Note: How to Activate Email Notifications.
Note: How to Add Access Control Profile on Your NAS.
Note: How to Change Docker Containers Restart Policy.
Note: How to Use Docker Containers With VPN.
Note: Convert Docker Run Into Docker Compose.
Note: How to Clean Docker.
Note: How to Clean Docker Automatically.
Note: Best Practices When Using Docker and DDNS.
Note: Some Docker Containers Need WebSocket.
Note: Find out the Best NAS Models For Docker.
Note: Activate Gmail SMTP For Docker Containers.

This post was updated on Friday / September 4th, 2026 at 1:14 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.