add readme

This commit is contained in:
Mathias Beaulieu-Duncan 2024-08-19 11:08:41 -04:00
parent 888161cef7
commit 325844fa92
Signed by: mathias
GPG Key ID: 17DFF5425B1AB6BA

66
README.md Normal file
View File

@ -0,0 +1,66 @@
# Gitea Self-Host Docker-Compose
This repository provides a complete setup for self-hosting Gitea using Docker Compose. It also includes a custom backup solution using `s3cmd` to securely store your backups in S3-compatible object storage with GPG encryption.
## Prerequisites
Before you begin, ensure you have the following installed:
- Docker
- Docker Compose
## Getting Started
### 1. Clone the Repository
```bash
git clone https://your-gitea-repo.git
cd your-gitea-repo
```
### 2. Set Up Docker Compose
Ensure the `docker-compose.yml` is configured correctly with your preferred settings for Gitea and any additional services like PostgreSQL or MySQL.
### 3. Start the Gitea Service
```bash
docker-compose up -d
```
This will start Gitea along with the configured services.
### 4. Custom Backup Solution
We provide a custom backup solution that uses `s3cmd` to upload your Gitea backups to an S3-compatible storage service with GPG encryption. Both `s3cmd` and GPG are included in the backup Docker container, so you do not need to install them locally.
### 4.1 Configure `s3cmd` in Docker
You need to configure `s3cmd` within the backup Docker container. This will generate the necessary configuration file that the backup script will use.
1. Run the Docker container with the volume mounted to store the configuration:
```bash
docker run --rm -it -v ./s3cfg:/root/ d3fk/s3cmd --configure
```
2. Follow the prompts to input your access key, secret key, gpg application path `/usr/bin/gpg`, gpg passphrase and other settings. The configuration file will be saved to the `s3cfg` directory in your project.
3. Extract the .s3cfg inside the s3cfg folder and change the permissions of the file to the proper user
### 4.2 Schedule Backups with Cron
You change change the backup schedule inside the Dockerfile directly. Don't forget to build the container for the change to take effect.
```bash
docker compose up -d --build
```
## Additional Resources
- [Gitea Documentation](https://docs.gitea.io/)
- [s3cmd Documentation](https://s3tools.org/s3cmd)
- [GPG Documentation](https://www.gnupg.org/documentation/)
## License
This project is licensed under the MIT License.