Synology NAS Support

Is your feature request related to a problem? Please describe.
It would be great to have support for installation onto a NAS device, as I know there’s a very large community of Synology users utilizing Synology’s Docker manager. This Docker manager does not allow command-line setup and everything is preconfigured with environment variables. I believe LinkAce is the best solution out there for this problem, but it cannot be easily installed on a NAS and therefore I have to consider alternative solutions.

Perhaps it’s just a documentation issue, but Volume and all Environmental Variables need to be defined before launching Docker container.

Describe the solution you’d like
Support for installation onto Synology NAS Docker manager. Does not have access to command-line installation. Everything pre-configured with environmental variables.

Describe alternatives you’ve considered
Other bookmark managers.

1 Like

Should already be possible with the current setup, but I’ll write down a guide when I have time.

1 Like

Hi there,
This would be great or as suggested kovah a synology specific guide.
Many thanks!!

I’ve just installed it on my Synology without issues! Here’s my step-to-step guide to install LinkAce on DSM 7.0

  1. Create a folder under “docker” shared folder, I assume the path is /volume1/docker/linkace
  2. Download the .env.docker.production and docker-compose.production.simple.yml and upload them on the linkace folder
  3. Rename them to .env and docker-compose.yml
  4. Edit them in the built-in Text Editor

Here is a modified version of docker-compose.yml by me

version: "3"

services:
  app:
    image: linkace/linkace:simple
    restart: unless-stopped
    network_mode: bridge
    container_name: linkace
    ports:
      - "8080:80"
    volumes:
      - /volume1/docker/linkace/.env:/app/.env

as of .env, you only need to modify the database (db) section. I prefer to use Synology’s MariaDB 10 package since I can intergrate it to Hyper Backup. The db server address will be 172.17.0.1 and you can generate an account and a database with phpMyAdmin package.

  1. SSH into your server and cd to /volume1/docker/linkace/, run sudo docker-compose up -d and sudo docker exec linkace php artisan key:generate to generate a key
  2. Navigate to your.nas.ip:8080 and complete the setup.

@adam You can learn some Docker CLI commands, since Synology’s Docker GUI is laggy and unresponsive, and difficult to maintain containers for upgrades or other advanced functions.

2 Likes

Thanks so much for this.
I tried but failed.
I created a db + user of the same name via phpMyAdmin, as suggested and based on the modified .env file.

DB_CONNECTION=mysql
DB_HOST=172.17.0.1
DB_PORT=3306
DB_DATABASE=linkace
DB_USERNAME=linkace
DB_PASSWORD=<a pass>

I also had to create a reverse proxy entry to access the LinkAce admin interface.

However I stall on the database configuration phase (internal error 500). Can’t seem to find a way to figure out what the issue can be.

Any ideas would be very welcome.

I missed the sudo docker exec linkace php artisan at the first time and the browser gave back the 500 Error message. Try to run this command and refresh the page, you should see the first-time running wizard.

Thank you @seohyun
The 500 error happens after the Database Configuration page, i.e. when I click on “Configure database”…

If you run into issues, for example 500 errors, it might help to replyce APP_DEBUG=false with APP_DEBUG=true in the .env file and try again. This might display more errors to you.

Thanks @kovah errors cleared.
Now I’m stumbling on SQLSTATE[HY000] [2002] Connection refused (SQL: SHOW FULL TABLES WHERE table_type = 'BASE TABLE')
I suspect there’s a socket issue with MariaDB on Synology. Need to investigate more with my limited knowledge… To be continued.

Hi @seohyun
Would you be able to detail the database and user you created please? I wonder if I’ve done something I shouldn’t have.
Hope it’s not too much trouble.
Many thanks.

It seems like Synology defaults MariaDB 10 database port to 3307 instead of the regular 3306, do check the port in the MariaDB 10 package in your DSM.

If you use my example docker-compose.yml, your container address should be 172.17.0.xx and your container’s network will be in the default bridge network. You can change the database address to your regular NAS address like 192.168.x.xxx, the same address you access the DSM in your local network.

By default, Synology’s firewall will not block internal address like 192.168.x.x, 10.x.x.x or 17.x.x.x, but if you created some special rules, it might be the culprit of your Connection refused issue. You can spin up a minimum alpine or ubuntu container, ssh into to and try to ping your server’s IP (no matter 172.17.0.0 or 192.168.xxx.xxx) and see if your firewall is really misconfigured.

It could be so great to have your help with synology install. Linkace is exactly what i look for. Thx

1 Like