Build packages, maybe?
This commit is contained in:
parent
f7a919ebf2
commit
7f423652e3
7 changed files with 295 additions and 9 deletions
106
README_FORGEJO.md
Normal file
106
README_FORGEJO.md
Normal file
|
@ -0,0 +1,106 @@
|
|||
# Podcastrr - Forgejo Integration Guide
|
||||
|
||||
This guide explains how to set up and use Podcastrr with Forgejo for CI/CD and container registry integration.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A Forgejo instance with:
|
||||
- CI/CD capabilities (Drone integration)
|
||||
- Container registry enabled
|
||||
- Docker and Docker Compose installed on your local machine
|
||||
- Git installed on your local machine
|
||||
|
||||
## Setup
|
||||
|
||||
### 1. Repository Setup
|
||||
|
||||
1. Create a new repository in your Forgejo instance
|
||||
2. Push this codebase to your new repository:
|
||||
```bash
|
||||
git init
|
||||
git add .
|
||||
git commit -m "Initial commit"
|
||||
git remote add origin https://your-forgejo-instance.com/username/podcastrr.git
|
||||
git push -u origin main
|
||||
```
|
||||
|
||||
### 2. Secrets Configuration
|
||||
|
||||
In your Forgejo repository settings, add the following secrets:
|
||||
|
||||
- `docker_username`: Your Forgejo username or container registry username
|
||||
- `docker_password`: Your Forgejo password or container registry password
|
||||
- `webhook_url` (optional): URL for build notifications
|
||||
|
||||
### 3. Environment Variables
|
||||
|
||||
Configure the following environment variables in your Forgejo CI/CD settings:
|
||||
|
||||
- `DRONE_REGISTRY`: Your Forgejo container registry URL (e.g., `registry.your-forgejo-instance.com`)
|
||||
|
||||
## CI/CD Pipeline
|
||||
|
||||
The included `.drone.yml` file defines a CI/CD pipeline that:
|
||||
|
||||
1. Runs tests on every push and pull request
|
||||
2. Builds and pushes a Docker image to your container registry on pushes to the main branch
|
||||
3. Sends notifications about build status (if configured)
|
||||
|
||||
## Using the Docker Image
|
||||
|
||||
### Pulling from Forgejo Container Registry
|
||||
|
||||
```bash
|
||||
docker pull registry.your-forgejo-instance.com/username/podcastrr:latest
|
||||
```
|
||||
|
||||
### Running with Docker Compose
|
||||
|
||||
1. Create a `.env` file with your configuration (see `.env.example`)
|
||||
2. Update the `docker-compose.yml` file to use your image:
|
||||
|
||||
```yaml
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
app:
|
||||
image: registry.your-forgejo-instance.com/username/podcastrr:latest
|
||||
ports:
|
||||
- "5000:5000"
|
||||
volumes:
|
||||
- ./downloads:/app/downloads
|
||||
- ./instance:/app/instance
|
||||
environment:
|
||||
- FLASK_ENV=production
|
||||
- SECRET_KEY=change_this_to_a_secure_random_string
|
||||
- DATABASE_URI=sqlite:///instance/podcastrr.db
|
||||
- DOWNLOAD_PATH=/app/downloads
|
||||
- LOG_LEVEL=INFO
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
3. Run the application:
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## Building Locally
|
||||
|
||||
If you want to build the Docker image locally:
|
||||
|
||||
```bash
|
||||
docker build -t podcastrr:local .
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- **CI/CD Pipeline Failures**: Check the build logs in Forgejo for detailed error messages
|
||||
- **Container Registry Issues**: Ensure your Forgejo instance has the container registry enabled and you have proper permissions
|
||||
- **Docker Image Not Found**: Verify the image name and tag in your docker-compose.yml file
|
||||
|
||||
## Additional Resources
|
||||
|
||||
- [Forgejo Documentation](https://forgejo.org/docs/)
|
||||
- [Drone CI Documentation](https://docs.drone.io/)
|
||||
- [Docker Documentation](https://docs.docker.com/)
|
Loading…
Add table
Add a link
Reference in a new issue