services: vaultwarden: image: vaultwarden/server:latest container_name: vaultwarden restart: unless-stopped ports: - 4743:80 environment: - TZ=America/Los_Angeles - SIGNUPS_ALLOWED=true - INVITATIONS_ALLOWED=true - WEBSOCKET_ENABLED=false - ADMIN_TOKEN=${VAULTWARDEN_ADMIN_TOKEN} volumes: - /mnt/user/appdata/vaultwarden:/data memos: image: neosmemo/memos:stable container_name: memos restart: unless-stopped ports: - 5230:5230 environment: - TZ=UTC - MEMOS_MODE=prod - MEMOS_PORT=5230 volumes: - /mnt/user/appdata/memos:/var/opt/memos healthcheck: test: wget --quiet --tries=1 --spider http://localhost:5230 || exit 1 start_period: 1m start_interval: 10s interval: 1m timeout: 5s retries: 3 mortis: image: ghcr.io/mudkipme/mortis:0.25.2 container_name: mortis restart: unless-stopped ports: - 5231:5231 command: ["-grpc-addr=memos:5230"] depends_on: - memos freshrss: image: lscr.io/linuxserver/freshrss:latest container_name: freshrss restart: unless-stopped environment: - PUID=99 - PGID=100 - UMASK=022 - TZ=America/Los_Angeles - CRON_MIN=*/30 ports: - 8054:80 volumes: - /mnt/user/appdata/freshrss:/config