add readme
This commit is contained in:
parent
888161cef7
commit
325844fa92
66
README.md
Normal file
66
README.md
Normal 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.
|
Loading…
Reference in New Issue
Block a user