40 Commits

Author SHA1 Message Date
joel 2d9297d9a3 Dockerize project with client and backend support (#55)
* set redis backend url automatically for docker builds

* initial docker build config

* rename docker scripts

* fix script paths

* remove old Dockerfiles

* set vite proxy base url depending on mode

* docker build config for client/

* docker production build for client

* refactor docker files

* update nginx config to set maximum file size

* reduce docker image size

* fix demucs bug in docker

* fix proxy timeout

* add gpu capabality for api container

* add compose files for dev and prod

* add healthcheck for freqsplit-api

* add model checkpoints to api image

* set healthcheck retries to 24
2025-08-04 01:43:40 +05:30
Joel Mathew Thomas 38ecb59519 bugfix: fix celery crashing, due to UPLOAD_DIR being deleted
Delete all dirs and files inside UPLOAD_DIR instead
2025-03-21 01:36:38 +05:30
Joel Mathew Thomas 1b523b1611 clean server storage on start 2025-03-20 22:11:22 +05:30
Joel Mathew Thomas 1e44b4c7de code cleanup 2025-03-20 19:14:13 +05:30
Joel Mathew Thomas 00f16d5814 handle FileNotFound Exception in separate task
remove dir_path when websocket disconnects during separation, and dir_path ends up being created again
2025-03-20 00:35:59 +05:30
Joel Mathew Thomas 6a91261e2d remove leftover url imports from urls.py 2025-03-20 00:24:58 +05:30
Joel Mathew Thomas a9dd87288d remove leftover url patterns 2025-03-20 00:24:05 +05:30
Joel Mathew Thomas b8a8be5ae5 remove /api/cleanup and /api/cleanupzip endpoints in favour of websocket handling cleanups 2025-03-20 00:19:52 +05:30
Joel Mathew Thomas 397e4f2c99 remove file_uuid.zip file on websocket disconnect 2025-03-20 00:17:40 +05:30
Joel Mathew Thomas a5705fffd0 remove file_dir on websocket disconnect 2025-03-20 00:12:10 +05:30
Joel Mathew Thomas 1cb3a1f197 send file_uuids to websocket 2025-03-20 00:03:34 +05:30
Joel Mathew Thomas 5fba3b42c5 change ws url 2025-03-19 23:50:29 +05:30
Joel Mathew Thomas e1e7464bb7 implement websocket connections 2025-03-19 23:44:55 +05:30
Joel Mathew Thomas 40f64b152c add endpoint to ping server, and display log if connection fails 2025-03-19 18:10:47 +05:30
Joel Mathew Thomas b622585fb9 add endpoint /api/spectrogram to calculate spectrograms 2025-03-18 20:37:20 +05:30
Joel Mathew Thomas 21843f591e generate spectrogram at backend and send as response to client 2025-03-18 19:21:26 +05:30
Joel Mathew Thomas 9dbcbb16cd integrate backend with client 2025-03-15 14:59:58 +05:30
Joel Mathew Thomas ddcbf740ea bugfix: api/cleanup_zip
- Fix error when there are no zip files to delete
2025-02-26 21:23:32 +05:30
Joel Mathew Thomas e1dac18802 endpoint: /api/cleanup_zip/
- Add endpoint /api/cleanup_zip/ to cleanup leftover zip files leftover by /api/download/
2025-02-26 20:16:54 +05:30
Joel Mathew Thomas ee5999da91 endpoint: /api/cleanup
- Add new endpoint /api/cleanup, params: file_uuid
- Cleanup leftover files on the server
2025-02-26 20:05:49 +05:30
Joel Mathew Thomas 1a8e4c5f40 code refinement for endpoint /api/download/ 2025-02-26 19:55:29 +05:30
Joel Mathew Thomas 6316de3933 endpoint: /api/download
- Add endpoint /api/download to download the files
- If single file, download single file
- Else download zip file
2025-02-26 19:53:02 +05:30
Joel Mathew Thomas 1a2737d06f remove redundant code 2025-02-26 18:01:31 +05:30
Joel Mathew Thomas 668872f175 endpoint /api/noisereduce, params: file_uuid
- Add endpoint /api/noisereduce, to reduce background noise.
- TODO: Split audio into chunks to prevent OOM issues.
2025-02-26 17:54:03 +05:30
Joel Mathew Thomas f2011b4408 endpoint : /api/separate
- Define new endpoint /api/separate, to separate music using demucs, params: file_uuid
- Replace original file with vocals.wav while retaining original filename
- Move all other files to file_path/sources/
2025-02-26 14:23:08 +05:30
Joel Mathew Thomas b0939cb5b8 fix bug: return original sample rate 2025-02-26 13:56:59 +05:30
Joel Mathew Thomas 7672817ff3 return sr with response of /api/upload/ 2025-02-26 13:37:08 +05:30
Joel Mathew Thomas a80a851c80 endpoint: /api/resample
- Define new endpoint /api/resample, which takes param : file_uuid, and sr.
- Add Exception Handling for celery tasks
- Correct error message for trim_audio_task
2025-02-26 03:05:41 +05:30
Joel Mathew Thomas 8356394b8a remove redundant code, improve get_audio_file_path()
- Check for file_uuid in request within function
- Check for existence of file within function
- Return appropriate status codes
2025-02-26 02:39:27 +05:30
Joel Mathew Thomas f71d30732f endpoint: /api/trim
- Define new api endpoint /api/trim, params: file_uuid, overwrites exisiting file on server with trimmed audio.
- Remove print messages in freqsplit/postprocessing/audio_writer.export_audio()
- Add new file api/utils.py for commonly used functions
2025-02-26 01:59:33 +05:30
Joel Mathew Thomas 1799713d3b endpoint: /api/normalize
-Add new endpoint /api/normalize, params: file_uuid, overwrites exisisting file on server with normalized audio.
-Remove print statements from src/freqsplit/postprocessing/audio_writer
2025-02-26 00:19:23 +05:30
Joel Mathew Thomas 2256989fda check file format in /api/upload/ 2025-02-25 23:34:54 +05:30
Joel Mathew Thomas 4f86f7a94b /api/upload: synchronously uploads audio, returns file_uuid, classifies audio, returns audio_class 2025-02-25 22:53:49 +05:30
Joel Mathew Thomas 825da48712 use celery for asynchronous tasks, rename session_uuid -> file_uuid 2025-02-25 19:30:58 +05:30
Joel Mathew Thomas 0d35e4e071 use session id's for uploads, return it as a response
also removed classify for api/upload temporarily
2025-02-25 19:07:15 +05:30
Joel Mathew Thomas e61ae413af return audio_class with response for api/upload endpoint 2025-02-25 03:23:59 +05:30
Joel Mathew Thomas 076e3779ef define new route api/upload to upload audio 2025-02-25 02:24:05 +05:30
Joel Mathew Thomas 15b69ae37b set env vars necessary for celery within celery config 2025-01-11 03:00:40 +05:30
Joel Mathew Thomas 9ba02c7deb update gitignore 2025-01-11 02:08:06 +05:30
Joel Mathew Thomas 2608391608 refactor code dir
rename backend/ to api/, remove leftover dir ui/
2025-01-09 11:39:56 +05:30