Install Linkwarden

Seems like Linkwarden is one of the better self hosted bookmark managers but it’s not in the apps list.

I am trying to install it from a yaml file, but all the docs have it call to a env file. I tried creating one and instead of doing .env in the yaml, I put the full path. Did not work.

I tried just putting the environment settings in the yaml, nothing. It says to check the app_lifecycle.log but that appears to be empty.

Here is the compose file I have that does not seem to work. Hoping there is someone that has it running and sees this for help, thanks!!

services:
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=poopieface3246523
- POSTGRES_DB=postgres
volumes:
- /mnt/Data/Apps/linkwarden/db:/var/lib/postgresql/data
networks: bridge
linkwarden:
environment:
- DATABASE_URL=postgresql://postgres:poopieface3246523@postgres:5432/postgres
- NEXTAUTH_SECRET=7e2d8797-dc20-422a-9a68-44b958bd33c0
- NEXTAUTH_URL=http://localhost/api/v1/auth
- NEXT_PUBLIC_DISABLE_REGISTRATION=
restart: unless-stopped
image: Package linkwarden · GitHub
networks: bridge
ports:
- 63708:3000
volumes:
- /mnt/Data/Apps/linkwarden/data:/data/data
depends_on:
- postgres

OK so I had a typo and pointing to the env file seems to work. However I am now getting a error trying to start it

Error: P1000: Authentication failed against database server at postgres, the provided database credentials for postgres are not valid.

I am wondering if it’s trying to connect to the wrong postgres container, I have several apps installed that use it. I am not sure how to tell, I am going to start looking but if someone has an idea, I am all ears.

Thanks!

Watching the logs on the postgres server for this app, it’s registering an incorrect password, so I am thinking it’s trying the right postgres install.

The password is in the env file though, it’s only entered once, not sure how it can be wrong.

I ended up finding this compose file that had the env parts built in vs using a separate file. This seems to work.