A simple Booru API written in TypeScript with support for multiple Boorus and Docker compatibility.
Find a file
creations 5f0bdb885b
All checks were successful
Code quality checks / biome (push) Successful in 10s
refactor: improve code structure and add better logging
- Replace custom logger with @atums/echo library
- Restructure imports using # path aliases
- Add request performance tracking and better request logging
- Improve type definitions and error handling
- Add custom file serving capability
- Update biome configuration with stricter linting rules
- Add comprehensive API documentation (DOCS.md)
2025-06-13 17:45:27 -04:00
.forgejo/workflows move to biomejs, add workflow move auth to header check readme 2025-04-15 17:33:24 -04:00
.vscode move to biomejs, add workflow move auth to header check readme 2025-04-15 17:33:24 -04:00
config refactor: improve code structure and add better logging 2025-06-13 17:45:27 -04:00
src refactor: improve code structure and add better logging 2025-06-13 17:45:27 -04:00
types refactor: improve code structure and add better logging 2025-06-13 17:45:27 -04:00
.editorconfig first commit 2024-12-28 09:13:34 -05:00
.env.example fix env example, change license to bsd 3 2025-05-02 08:15:08 -04:00
.gitattributes first commit 2024-12-28 09:13:34 -05:00
.gitignore was never added to .gitignore 2025-04-03 16:10:20 -04:00
biome.json refactor: improve code structure and add better logging 2025-06-13 17:45:27 -04:00
compose.yml gelbooru should work, remove caching, fix random 2025-04-03 16:05:41 -04:00
Dockerfile update dockerfile 2025-01-05 21:02:28 -05:00
DOCS.md refactor: improve code structure and add better logging 2025-06-13 17:45:27 -04:00
LICENSE fix env example, change license to bsd 3 2025-05-02 08:15:08 -04:00
logger.json refactor: improve code structure and add better logging 2025-06-13 17:45:27 -04:00
package.json refactor: improve code structure and add better logging 2025-06-13 17:45:27 -04:00
README.md move to biomejs, add workflow move auth to header check readme 2025-04-15 17:33:24 -04:00
tsconfig.json refactor: improve code structure and add better logging 2025-06-13 17:45:27 -04:00

booru-api

Setup Instructions

Production Environment

  1. Clone the repository:

    git clone https://git.creations.works/creations/booru-api
    cd booru-api
    
  2. Copy the example environment file to .env:

    cp .env.example .env
    
  3. Start the application in detached mode:

    docker compose up -d
    

Development Environment

  1. Clone the repository:

    git clone https://git.creations.works/creations/booru-api
    cd booru-api
    
  2. Copy the example environment file to .env:

    cp .env.example .env
    
  3. Install dependencies using Bun:

    bun install
    
  4. Start the development server:

    bun dev
    

Note

To use the e621 Booru route, include the following headers in your request:

e621UserAgent: YourApplication/1.0 (by username on e621)
e621Username: your-username
e621ApiKey: your-apikey

Replace your-username and your-apikey with your e621 account credentials. Update the e621UserAgent string to include your application name, version, and a contact method (e.g., your e621 username) to comply with e621's API guidelines.

To use the Gelbooru Booru route, include these headers in your request:

gelbooruApiKey: your-apikey
gelbooruUserId: your-user-id

You can find these credentials in your Gelbooru account settings. These are required for authenticated API requests and higher rate limits.