bruh idk leave me alone i want to enjoy my holiday
This commit is contained in:
parent
8c489b1ed1
commit
46950922d1
125
README.md
125
README.md
|
@ -0,0 +1,125 @@
|
|||
# Migrating Gitea from SQLite to MariaDB and Moving to a New Server
|
||||
Documenting my entire platform shift was a bit too much, but to have something documented I've made this which shows the progress of how I migrated my Gitea to MariaDB and then to a Container
|
||||
|
||||
## Step 1: Backup data from VM instance
|
||||
|
||||
### Backup Gitea data
|
||||
```bash
|
||||
mkdir /home/crt/gitea-backup
|
||||
tar -czvf /home/crt/gitea-backup/gitea-data-dir.tar.gz /opt/gitea/data-dir
|
||||
```
|
||||
|
||||
### Backup Gitea configuration
|
||||
```bash
|
||||
cp /opt/gitea/app.ini /home/crt/gitea-backup/
|
||||
|
||||
```
|
||||
|
||||
### Backup SQLite Database
|
||||
```bash
|
||||
sqlite3 /opt/gitea/db/tea.db .dump > /home/crt/gitea-backup/tea.sql
|
||||
```
|
||||
|
||||
### Connect to container using SFTP and transfer the files (folder already created)
|
||||
```bash
|
||||
cd /home/crt/gitea-backup/
|
||||
sftp crt@123.123.123.123
|
||||
cd /home/crt/gitea-backup
|
||||
put gitea-data-dir.tar.gz
|
||||
put app.ini
|
||||
put tea.sql
|
||||
bye
|
||||
```
|
||||
|
||||
## Step 2: Install MariaDB and download Gitea on Container
|
||||
|
||||
### Download and install gitea
|
||||
```bash
|
||||
wget -O /usr/local/bin/gitea https://dl.gitea.com/gitea/1.22.0/gitea-1.22.0-linux-amd64
|
||||
chmod +x /usr/local/bin/gitea
|
||||
```
|
||||
|
||||
### Install MariaDB
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install mariadb-server
|
||||
```
|
||||
|
||||
### Secure MariaDB installation by setting passwords and stuff
|
||||
```bash
|
||||
sudo mysql_secure_installation
|
||||
```
|
||||
|
||||
### Create Gitea database and user
|
||||
```bash
|
||||
sudo mysql -u root -p
|
||||
```
|
||||
```sql
|
||||
CREATE DATABASE teadb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
CREATE USER 'gitter'@'localhost' IDENTIFIED BY 'YuoNoeGettsingThsePassworderIsVerySEEKRET';
|
||||
GRANT ALL PRIVILEGES ON teadb.* TO 'gitter'@'localhost';
|
||||
FLUSH PRIVILEGES;
|
||||
EXIT
|
||||
```
|
||||
|
||||
## Step 3: Restore data on the new server
|
||||
|
||||
### Restore Gitea data
|
||||
```bash
|
||||
tar -xzvf /home/crt/gitea-backup/gitea-data-dir.tar.gz -C /opt/gitea/data-dir
|
||||
```
|
||||
|
||||
### Restore Gitea Configuration
|
||||
```bash
|
||||
cp /home/crt/gitea-backup/app.ini /opt/gitea/
|
||||
# Copy the Gitea configuration file
|
||||
```
|
||||
|
||||
### Import Data into MariaDB
|
||||
```sh
|
||||
mysql -u gitter -p teadb < /home/crt/gitea-backup/tea.sql
|
||||
```
|
||||
|
||||
## Step 5: Configure Gitea on the container
|
||||
|
||||
### Edit Gitea configuration
|
||||
```ini
|
||||
[database]
|
||||
DB_TYPE = mysql
|
||||
HOST = 127.0.0.1:3306
|
||||
NAME = teadb
|
||||
USER = gitter
|
||||
PASSWD = YuoNoeGettsingThsePassworderIsVerySEEKRET
|
||||
```
|
||||
|
||||
### Set Up Gitea as a service
|
||||
Create a systemd service file for Gitea:
|
||||
```sh
|
||||
sudo nano /etc/systemd/system/gitea.service
|
||||
```
|
||||
Add the following content:
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Gitter
|
||||
After=syslog.target
|
||||
After=network.target
|
||||
After=mariadb.service
|
||||
|
||||
[Service]
|
||||
User=git
|
||||
Group=git
|
||||
WorkingDirectory=/opt/gitea/
|
||||
ExecStart=/usr/local/bin/gitea web -c /opt/gitea/app.ini
|
||||
Restart=always
|
||||
Environment=USER=git HOME=/opt/gitea/
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
### Start and Enable Gitea Service
|
||||
```sh
|
||||
sudo systemctl enable --now gitea
|
||||
```
|
||||
|
||||
### Enjoy my new gitea instance running more efficiently on le container wohoo
|
Loading…
Reference in New Issue