Archived
1
0
Fork 0
Fork of Skywrite to specifically handle submission of Infinity Nikki news to Bluesky.
This repository has been archived on 2026-05-06. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • Rust 95.8%
  • Dockerfile 4.2%
Find a file
2025-06-08 14:39:12 +01:00
.github/workflows ci: add cleanup for old images 2025-04-29 03:37:05 +01:00
.sqlx refactor: rewrite to use InfinityNikki news api 2024-12-05 17:06:05 +00:00
migrations Initial commit 2024-12-05 15:52:27 +00:00
src fix: fallback on image convert failure 2025-06-07 13:34:25 +01:00
.env.example Initial commit 2024-12-05 15:52:27 +00:00
.gitignore Initial commit 2024-12-05 15:52:27 +00:00
build.rs Initial commit 2024-12-05 15:52:27 +00:00
Cargo.lock chore: sync up code with other posters 2025-04-29 03:21:40 +01:00
Cargo.toml chore: sync up code with other posters 2025-04-29 03:21:40 +01:00
Dockerfile build: use older alpine for openssl 2025-06-08 14:39:12 +01:00
LICENSE Initial commit 2024-12-05 15:52:27 +00:00
README.md docs: use main tag not latest 2025-04-29 00:17:37 +01:00

Whimsky

Automatic posting Infinity Nikki news to Bluesky. Customized fork of skywrite.

Setup

Docker

  1. Copy the following to a local file named docker-compose.yml or add the service to your existing stack and fill in the environment variables. Information about configuration options can be found in the configuration section.
services:
  whimsky:
    image: ghcr.io/blooym/whimsky:main
    restart: unless-stopped
    environment:
      - WHIMSKY_APP_SERVICE=
      - WHIMSKY_APP_IDENTIFIER=
      - WHIMSKY_APP_PASSWORD=
      - WHIMSKY_NEWS_LOCALE=
      - WHIMSKY_RERUN_INTERVAL_SECONDS=
      - WHIMSKY_NEWS_BACKDATE_HOURS=72=
      - WHIMSKY_POST_LANGUAGES=
      - WHIMSKY_DISABLE_POST_COMMENTS=
    volumes:
      - whimsky-data:/opt/whimsky/data

volumes:
  whimsky-data:
  1. Start the stack
docker compose up -d

Manual

  1. Ensure you have Rust installed and in your $PATH.
  2. Install the project binary
cargo install --git https://github.com/Blooym/whimsky.git
  1. Copy .env.example to .env and fill in the values as necessary. Information about configuration options can be found in the configuration section.

  2. Run the project from the same directory as .env

whimsky start

Configuration

Configuration is handled entirely through environment variables or command-line flags. The available configuration options for the 'start' command are:

  • DATABASE_URL: The connection string to use when connecting to the sqlite database. Supports some connection parameters.
  • WHIMSKY_APP_SERVICE: The full URL to the service to communicate with. Defaults to https://bsky.social
  • WHIMSKY_APP_IDENTIFIER: The username or email of the application's account.
  • WHIMSKY_APP_PASSWORD: The app password to use for authentication.
  • WHIMSKY_DATA_PATH: The base directory to store things like configuration files and other persistent data.
  • WHIMSKY_RERUN_INTERVAL_SECONDS: The interval of time in seconds between checking for news.
  • WHIMSKY_NEWS_BACKDATE_HOURS: The number of hours in the past the bot should check for news that hasn't been posted. It is recommended to keep this to at least "1" as otherwise posts may get missed.
  • WHIMSKY_NEWS_LOCALE: The locale to use when fetching news posts. Existing options so far appear to be "en", "kr" and "ja".
  • WHIMSKY_DISABLE_POST_COMMENTS: Whether Bluesky posts should have comments disabled.
  • WHIMSKY_POST_LANGUAGES: A comma-seperated list of languages in ISO-639-1 to classify posts under. This should corrolate to the language of the posts the feed is linking to.