Lynx is a self-hosted open source URL shortener with a simple UI. The thing I like most about Lynx is its speed and simplicity in adding links. You can use it as alternative to Reduced, Shlink, and Slash. Convert those ugly and long URLs into short, easy to manage links. In this step by step guide I will show you how to install Lynx on your Synology NAS using Docker & Portainer.
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.
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.
Go to Control Panel / Login Portal / Advanced Tab / click Reverse Proxy. Follow the instructions in the image below.
Now click the “Create” button. Follow the instructions in the image below.
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 Lynx. After that, add the following instructions:
Check Enable HSTS
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.
Go to Control Panel / Network / Connectivity tab/ Check Enable HTTP/2 then click Apply. Follow the instructions in the image below.
Go to Control Panel / Security / Advanced tab/ Check Enable HTTP Compression then click Apply. Follow the instructions in the image below.
Go to File Station and open the docker folder. Inside the docker folder, create one new folder and name it lynxdb. Follow the instructions in the image below.
Note: Be careful to enter only lowercase, not uppercase letters.
Log into Portainer using your username and password. On the left sidebar in Portainer, click on Stacks then + Add stack. Follow the instructions in the image below.
In the Name field type in lynx. Follow the instructions in the image below.
version: "3.9" services: db: image: mongo container_name: Lynx-DB restart: on-failure:5 security_opt: - no-new-privileges:true healthcheck: test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"] interval: 10s timeout: 10s retries: 5 start_period: 20s volumes: - /volume1/docker/lynxdb:/data/db:rw - /volume1/docker/lynxdb:/data/configdb:rw lynx: image: jackbailey/lynx container_name: Lynx restart: on-failure:5 ports: - 3485:3000 depends_on: - db environment: - NODE_ENV=production - JWT_KEY=MariushostingMariushostingMari13 - URL_LENGTH=8 - URL_SET=standard - URL_ONLY_UNIQUE=false - HOME_REDIRECT=/dash/overview - FORCE_FRONTEND_REDIRECT=false - ENABLE_REGISTRATION=false # First registration will always be allowed. - DOMAIN=https://lynx.yourname.synology.me - DEMO=false - DB_HOST=db - DB_PORT=27017
Note: Before you paste the code above in the Web editor area below, change the value for JWT_KEY and add your own JWT KEY. MariushostingMariushostingMari13 is an example for a JWT KEY. You should invent your own Value. Add 32 random characters, both letters and numbers.
Note: Before you paste the code above in the Web editor area below, change the value for DOMAIN and type in your own synology.me DDNS with https:// at the beginning that you have previously created at STEP 6.
Scroll down on the page until you see a button named 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.
If everything goes right, you will see the following message at the top right of your screen: “Success Stack successfully deployed“.
Go back to STEP 1 or you will deal with karma 🙂.
Now open your browser and type in your HTTPS/SSL certificate like this https://lynx.yourname.synology.me In my case it’s https://lynx.mariushosting.synology.me If everything goes right, you will see the Lynx login page. Click Register. Follow the instructions in the image below.
Type in your own Username, Email and Password then click Register. Follow the instructions in the image below.
Type in your own Username and Password that you have previously created at STEP 17 then click Login. Follow the instructions in the image below.
Switch to Dark Mode. Add your first long link, add your custom slug then click Create Link. Follow the instructions in the image below.
Click Okay. Follow the instructions in the image below.
Your shortened link is ready!
If you encounter issues by using this container, make sure to check out the Common Docker issues article.
Note: Find out how to update the Lynx container with the latest image.
Note: Can I run Docker on my Synology NAS? See the supported models.
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 Sunday / September 17th, 2023 at 1:35 PM