services: yarnl-db: container_name: yarnl-db image: postgres:16-alpine restart: unless-stopped networks: - homelab-network volumes: - ./db:/var/lib/postgresql/data environment: POSTGRES_DB: ${POSTGRES_DB:-yarnl} POSTGRES_USER: ${POSTGRES_USER:-yarnl} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-yarnl} healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-yarnl}"] interval: 5s timeout: 5s retries: 5 labels: - com.getarcaneapp.arcane.icon=https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/postgresql.svg #com.getarcaneapp.arcane.updater: false yarnl: container_name: yarnl image: titandrive/yarnl:latest restart: unless-stopped networks: - homelab-network - traefik-network ports: - ${EXTERNAL_PORT}:${INTERNAL_PORT} volumes: - ./users:/app/users - /opt:/opt environment: POSTGRES_HOST: yarnl-db POSTGRES_PORT: 5432 POSTGRES_DB: ${POSTGRES_DB:-yarnl} POSTGRES_USER: ${POSTGRES_USER:-yarnl} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-yarnl} ADMIN_USERNAME: ${ADMIN_USERNAME:-admin} ADMIN_PASSWORD: ${ADMIN_PASSWORD:-} TZ: ${TZ:-UTC} SECURE_COOKIES: ${SECURE_COOKIES:-false} FORCE_LOCAL_LOGIN: ${FORCE_LOCAL_LOGIN:-false} depends_on: yarnl-db: condition: service_healthy labels: - 'com.getarcaneapp.arcane.depends-on: yarnl-db' - ${ICON_LABEL} - ${HOST_LABEL} - ${LOADBALANCER_LABEL} - ${WATCHTOWER_ENABLE_LABEL} - ${TRAEFIK_ENABLE_LABEL} - ${TRAEFIK_NETWORK_LABEL} - ${ENTRYPOINT_LABEL} - ${CERT_LABEL} - ${AUTHELIA_LABEL} networks: homelab-network: external: true traefik-network: external: true x-dockge: urls: - https://${PROXY_URL} - ${LOCAL_URL} - https://yarnl.com - https://ravelry.com x-arcane: icon: ${ICON_URL} urls: - https://${PROXY_URL} - ${LOCAL_URL} - https://yarnl.com - https://ravelry.com