Nessuna descrizione

Emrik Östling ea9250543e chore(main): release 0.5.0 10 mesi fa
.github f7abb9389c chore: move to renovate 1 anno fa
.vscode 27d4da8941 chore: add TypeScript settings 1 anno fa
images 22227130dd chore: add screenshot, fixes #110 10 mesi fa
src 317c932c2a feat: add option to customize how often files are automatically deleted 10 mesi fa
.dockerignore 800103412a test if this fixes #8 1 anno fa
.gitignore ae2455e73e chore: fix type errors and update bun sql syntax 1 anno fa
CHANGELOG.md ea9250543e chore(main): release 0.5.0 10 mesi fa
Debian.Dockerfile 13169574f0 feat: change from debian to alpine 1 anno fa
Dockerfile aee1962607 chore(deps): update oven/bun docker tag to v1.1.29 10 mesi fa
LICENSE 16c1460620 Create LICENSE 1 anno fa
README.md 317c932c2a feat: add option to customize how often files are automatically deleted 10 mesi fa
biome.json 52294465fb chore: fix type errors 1 anno fa
bun.lockb b97b12b449 chore(deps): update dependency @biomejs/biome to v1.9.2 10 mesi fa
compose.yaml f0d0e43929 feat: add option for unauthenticated file conversions #114 11 mesi fa
eslint.config.mjs 3f79ccaa2a chore: Update eslint configuration and dependencies 1 anno fa
package.json ea9250543e chore(main): release 0.5.0 10 mesi fa
prettier.config.cjs 50e9b861b0 add safe 1 anno fa
renovate.json 7ed1ad21f2 Add renovate.json 1 anno fa
reset.d.ts a68046ecd6 jsx working 1 anno fa
tsconfig.json 3f79ccaa2a chore: Update eslint configuration and dependencies 1 anno fa

README.md

ConvertX

ConvertX

Docker GitHub Release GitHub commits since latest release GitHub repo size Docker container size GitHub top language

A self-hosted online file converter. Supports 831 different formats. Written with TypeScript, Bun and Elysia.

Features

  • Convert files to different formats
  • Password protection
  • Multiple accounts

Converters supported

Converter Use case Converts from Converts to
libjxl JPEG XL 11 11
resvg SVG 1 1
Vips Images 45 23
XeLaTeX LaTeX 1 1
Pandoc Documents 43 65
GraphicsMagick Images 166 133
FFmpeg Video ~473 ~280

Any missing converter? Open an issue or pull request!

Deployment

# docker-compose.yml
services:
  convertx: 
    image: ghcr.io/c4illin/convertx
    container_name: convertx
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment: # Defaults are listed below. All are optional.
      - ACCOUNT_REGISTRATION=false # true or false, doesn't matter for the first account (e.g. keep this to false if you only want one account)
      - JWT_SECRET=aLongAndSecretStringUsedToSignTheJSONWebToken1234 # will use randomUUID() by default
      - HTTP_ALLOWED=false # setting this to true is unsafe, only set this to true locally
      - ALLOW_UNAUTHENTICATED=false # allows anyone to use the service without logging in, only set this to true locally
      - AUTO_DELETE_EVERY_N_HOURS=24 # checks every n hours for files older then n hours and deletes them, set to 0 to disable
    volumes:
      - convertx:/app/data

or

docker run -p 3000:3000 -v ./data:/app/data ghcr.io/c4illin/convertx

Then visit http://localhost:3000 in your browser and create your account. Don't leave it unconfigured and open, as anyone can register the first account.

If you get unable to open database file run chown -R $USER:$USER path on the path you choose.

Tutorial

Tutorial in french: https://belginux.com/installer-convertx-avec-docker/

Screenshots

ConvertX Preview

Development

  1. Install Bun and Git
  2. Clone the repository
  3. bun install
  4. bun run dev

Pull requests are welcome! See below and open issues for the list of todos.

Todo

  • Add messages for errors in converters
  • Add searchable list of formats
  • Add options for converters
  • Divide index.tsx into smaller components
  • Add tests
  • Make the upload button nicer and more easy to drop files on. Support copy paste as well if possible.
  • Make errors logs visible from the web ui
  • Add more converters:

Contributors

Star History

Star History Chart