services: postgres: image: postgres:16-alpine ports: - "5432:5432" restart: always environment: POSTGRES_PASSWORD: mysecretpassword volumes: - /srv/docker/linkwarden/pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s timeout: 5s retries: 10 linkwarden: image: ghcr.io/linkwarden/linkwarden:latest restart: always ports: - "3015:3000" environment: - DATABASE_URL=postgresql://postgres:mysecretpassword@postgres:5432/postgres - NEXTAUTH_URL=https://links.jgitta.com/api/v1/auth - NEXTAUTH_SECRET=54abb45bb0143e6749dde5ab8edc3b7e84d431e7815c3e3480efb87d9e451436 - NEXT_PUBLIC_AUTHENTIK_ENABLED=true - AUTHENTIK_CUSTOM_NAME=Authentik - AUTHENTIK_ISSUER=https://auth.jgitta.com/application/o/linkwarden - AUTHENTIK_CLIENT_ID=A2dOhW8OvnIwBt0lYLYE2iQ5CjWeNdXAAjbxjVKV - AUTHENTIK_CLIENT_SECRET=0b6acca3dd727e75ecac9ab62165c14e3afcfbd76eda678d94a61d2d576d6224 depends_on: postgres: condition: service_healthy