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: 4 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 (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-12T10:35:58.000Z (almost 2 years ago)
- Last Synced: 2025-08-11T09:33:15.412Z (10 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 Compose
Install 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