Docker

使用持久卷在 Docker 容器中运行 yarr。

该镜像可从 Docker HubGitHub Container Registry 获取。

从镜像仓库拉取镜像:

docker pull nkanaev/yarr:latest

运行容器:

docker run -d --name yarr \
  -p 7070:7070 \
  -v yarr-data:/data \
  nkanaev/yarr:latest -db /data/yarr.db -addr 0.0.0.0:7070

数据库存储在数据卷 yarr-data 中。

Docker Compose 与 PostgreSQL

要结合 PostgreSQL 运行 yarr,请使用 docker-compose.yml 文件:

services:
  yarr:
    image: nkanaev/yarr:latest
    command: ["-addr", "0.0.0.0:7070"]
    environment:
      YARR_DB: postgres://dbuser:dbpass@postgres:5432/dbname?sslmode=disable
      YARR_AUTH: username:password
    ports:
      - "7070:7070"
    depends_on:
      postgres:
        condition: service_healthy

  postgres:
    image: postgres:17-alpine
    environment:
      POSTGRES_USER: dbuser
      POSTGRES_PASSWORD: dbpass
      POSTGRES_DB: dbname
    volumes:
      - postgres-data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U user -d dbname"]
      interval: 5s
      timeout: 5s
      retries: 5

volumes:
  postgres-data:

启动服务:

docker compose up -d