Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/5enox/metacreator
The FastAPI Backend For metacreator
https://github.com/5enox/metacreator
5enox docker docker-compose docker-image dockercompose fastapi instagram tiktok
Last synced: 3 months ago
JSON representation
The FastAPI Backend For metacreator
- Host: GitHub
- URL: https://github.com/5enox/metacreator
- Owner: 5enox
- Created: 2024-07-04T03:40:04.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-07-12T10:35:58.000Z (6 months ago)
- Last Synced: 2024-09-28T21:03:26.348Z (3 months ago)
- Topics: 5enox, docker, docker-compose, docker-image, dockercompose, fastapi, instagram, tiktok
- Language: Python
- Homepage: https://souqzone.xyz/docs
- Size: 471 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Video Download Service
This project provides a service to download and adjust videos from TikTok and Instagram. It consists of two main containers: a FastAPI container for handling the backend logic and an Nginx container for serving requests and acting as a reverse proxy.
## Features
- Download videos from TikTok and Instagram.
- Adjust video saturation.
- Periodic cleanup of old videos.
- Uses FastAPI for backend service.
- Uses Nginx as a reverse proxy.## Installation
### Prerequisites
- Docker
- Docker ComposeInstall Docker and Docker-compose If you don't have them
```sh
curl -fsSL https://get.docker.com | sh && sudo apt-get install -y docker-compose```
### Steps
1. Clone the repository:
```sh
git clone https://github.com/5enox/metacreator.git
cd metacreator
```2. Build and start the containers:
```sh
docker compose up --build -d # to run both containers in detached mode
```3. The service will be available at `http://localhost`.
## Project Structure
- **FastAPI Container**
- Handles the core functionality including downloading and adjusting videos.
- Exposes port `8000`.- **Nginx Container**
- Acts as a reverse proxy to route requests to the FastAPI container.
- Exposes port `80`.## Technologies Used
- **FastAPI**: Web framework for building the API.
- **Pydantic**: Data validation and settings management using Python type annotations.
- **Requests**: For making HTTP requests.
- **wget**: For downloading videos.
- **ffmpeg-python**: For handling video processing.
- **moviepy**: For video editing.
- **Docker**: For containerizing the application.
- **Nginx**: For reverse proxy and serving the application.## TODO
- Add SSL support for Nginx.
- Implement video format conversion.
- Add support for additional video platforms.
- Improve error handling and logging.
- Implement user authentication and rate limiting.## Contributing
Feel free to open issues and submit pull requests. We welcome contributions to improve this project.
## Developmnt
This service was entirely developed by me, and I'm working on adding more platforms