services: linkwarden: image: ghcr.io/linkwarden/linkwarden:latest container_name: linkwarden restart: unless-stopped depends_on: - postgres - meilisearch environment: - DATABASE_URL=postgresql://linkwarden:${POSTGRES_PASSWORD:-linkwarden}@postgres:5432/linkwarden - NEXTAUTH_URL=${NEXTAUTH_URL:-http://localhost:3010}/api/v1/auth - NEXTAUTH_SECRET=${NEXTAUTH_SECRET:?auth secret required} - MEILI_HOST=http://meilisearch:7700 - MEILI_MASTER_KEY=${MEILI_MASTER_KEY:?meilisearch key required} ports: - "${HTTP_PORT:-3010}:3000" volumes: - ${DATA_PATH:-/srv/linkwarden}/data:/data/data postgres: image: postgres:16-alpine container_name: linkwarden-db restart: unless-stopped environment: - POSTGRES_DB=linkwarden - POSTGRES_USER=linkwarden - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-linkwarden} volumes: - ${DATA_PATH:-/srv/linkwarden}/pgdata:/var/lib/postgresql/data meilisearch: image: getmeili/meilisearch:v1.13 container_name: linkwarden-meili restart: unless-stopped environment: - MEILI_MASTER_KEY=${MEILI_MASTER_KEY} volumes: - ${DATA_PATH:-/srv/linkwarden}/meili:/meili_data