No description
Find a file
qpismont c2a78d820e
Some checks failed
ci/woodpecker/push/lint Pipeline failed
ci/woodpecker/push/tests Pipeline failed
ci/woodpecker/push/build unknown status
Update Go version to 1.24.1 in go.mod
2025-03-18 21:20:03 +00:00
.devcontainer Update dependencies, improve password handling, and enhance devcontainer configuration. Bump Go version to 1.24.1, add Air version to Dockerfile, and refactor password hashing and comparison functions to return errors. Update tests accordingly. 2025-03-18 21:19:49 +00:00
.vscode begin core module 2025-02-20 12:09:38 +00:00
build starting accounts 2025-03-11 21:42:36 +00:00
cmd starting accounts 2025-03-11 21:42:36 +00:00
internal Update dependencies, improve password handling, and enhance devcontainer configuration. Bump Go version to 1.24.1, add Air version to Dockerfile, and refactor password hashing and comparison functions to return errors. Update tests accordingly. 2025-03-18 21:19:49 +00:00
migrations begin core module 2025-02-20 12:09:38 +00:00
scripts begin core module 2025-02-20 12:09:38 +00:00
test add unit tests helpers 2025-02-25 20:55:12 +00:00
.gitignore begin core module 2025-02-20 12:09:38 +00:00
go.mod Update Go version to 1.24.1 in go.mod 2025-03-18 21:20:03 +00:00
go.sum Update dependencies, improve password handling, and enhance devcontainer configuration. Bump Go version to 1.24.1, add Air version to Dockerfile, and refactor password hashing and comparison functions to return errors. Update tests accordingly. 2025-03-18 21:19:49 +00:00
LICENSE Initial commit 2025-02-18 19:18:46 +01:00
README.md add readme 2025-02-26 20:29:48 +00:00

Trepa - Self-Hosted Streaming Platform Backend

Trepa is a robust, scalable backend service written in Go for self-hosted streaming platforms. It provides the core functionality needed to manage and serve streaming content with a focus on performance, security, and ease of deployment.

Features

  • User account management with JWT authentication
  • Movie/Content metadata management
  • PostgreSQL database for persistent storage
  • Docker support for easy deployment
  • Database migrations system
  • Scalable architecture

Prerequisites

  • Go 1.24 or higher
  • PostgreSQL database
  • Docker (for containerized deployment)
  • migrate CLI tool (for database migrations)

Environment Variables

Create a .env file in the root directory with the following variables:

DB_HOST=your_database_host
DB_PORT=your_database_port
DB_USER=your_database_user
DB_PASSWORD=your_database_password
DB_NAME=your_database_name
JWT_SECRET=your_jwt_secret

Installation

  1. Clone the repository:
git clone <repository-url>
cd trepa
  1. Install dependencies:
go mod download
  1. Run database migrations:
migrate -path migrations -database "postgresql://user:password@localhost:5432/dbname?sslmode=disable" up

Development

To run the project locally:

go run cmd/main.go

Docker Deployment

Build and run the Docker container:

docker build -t trepa .
docker run -p 8080:8080 --env-file .env trepa

Project Structure

.
├── cmd/                 # Application entrypoints
├── internal/           # Private application code
│   ├── accounts/      # User account management
│   └── core/          # Core business logic
├── migrations/        # Database migrations
├── scripts/          # Build and deployment scripts
└── test/            # Test files

API Documentation

[API documentation to be added]

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Security

For security concerns, please open an issue or contact the maintainers directly.

Support

For support, please open an issue in the repository.