moving from cloud run to OVHCloud VPS
This commit is contained in:
parent
6cd6c2a0d8
commit
4950ea2402
3
.gitignore
vendored
3
.gitignore
vendored
@ -1 +1,2 @@
|
|||||||
.env
|
.env
|
||||||
|
gitea-dump
|
||||||
63
README.md
63
README.md
@ -1,26 +1,41 @@
|
|||||||
## GCP deploy
|
### OVHCloud VPS deploy
|
||||||
- `gcloud auth login`
|
VPS name: vps-123c23bd.vps.ovh.net
|
||||||
- `gcloud config set project itsamejms`
|
IPv4 address: 51.91.109.47
|
||||||
- `gcloud auth application-default set-quota-project itsamejms`
|
IPv6 address: 2001:41d0:42b:61::1
|
||||||
- `gcloud run services list`
|
Username: ubuntu
|
||||||
- `gcloud services enable run.googleapis.com artifactregistry.googleapis.com storage.googleapis.com`
|
Password: <PASSWORD>
|
||||||
- `gcloud storage buckets create gs://jms-git-bucket --location=europe-west1` # for snapshots
|
|
||||||
- `gcloud storage buckets create gs://jms-git-repos-storage --location=europe-west1` # for repositories .git folders
|
|
||||||
|
|
||||||
|
|
||||||
|
- `ssh ubuntu@vps-123c23bd.vps.ovh.net`
|
||||||
```
|
```
|
||||||
gcloud beta run deploy gitea-serverless \
|
# 1. Update the system repository
|
||||||
--source . \
|
sudo apt update && sudo apt upgrade -y
|
||||||
--region europe-west1 \
|
|
||||||
--allow-unauthenticated \
|
# 2. Grab the required security certificates and curl
|
||||||
--max-instances 1 \
|
sudo apt install ca-certificates curl -y
|
||||||
--memory 1Gi \
|
sudo install -m 0755 -d /etc/apt/keyrings
|
||||||
--port 3000 \
|
|
||||||
--set-env-vars="GCS_BUCKET_NAME=jms-git-bucket" \
|
# 3. Download Docker's official GPG keying for package verification
|
||||||
--set-env-vars="GITEA_WORK_DIR=/data/gitea" \
|
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
|
||||||
--set-env-vars="GITEA_CUSTOM=/data/gitea" \
|
sudo chmod a+r /etc/apt/keyrings/docker.asc
|
||||||
--set-env-vars="GCS_ACCESS_KEY=GCS_ACCESS_KEY" \
|
|
||||||
--set-env-vars="GCS_SECRET_KEY=GCS_SECRET_KEY" \
|
# 4. Inject Docker's official repository into your system's source list
|
||||||
--add-volume=name=git-storage,type=cloud-storage,bucket=jms-git-repos-storage,mount-options="uid=1000;gid=1000;file-mode=0666;dir-mode=0777;stat-cache-ttl=600s;type-cache-ttl=600s" \
|
echo \
|
||||||
--add-volume-mount=volume=git-storage,mount-path=/data/gitea/app_data/repositories
|
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
|
||||||
```
|
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
||||||
|
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||||
|
|
||||||
|
# 5. Update your system packages using the new official source
|
||||||
|
sudo apt update
|
||||||
|
|
||||||
|
# 6. Install the official Docker Engine and modern Compose Plugin
|
||||||
|
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
|
||||||
|
|
||||||
|
# Give your 'ubuntu' user permission to use Docker without typing 'sudo' every time
|
||||||
|
sudo usermod -aG docker $USER
|
||||||
|
```
|
||||||
|
|
||||||
|
- `mkdir -p ~/gitea`
|
||||||
|
- `cd ~/gitea`
|
||||||
|
- `docker compose up -d`
|
||||||
|
- `docker compose logs`
|
||||||
|
- `scp -r /Users/jamestwose/Coding/jms-gitea/gcloud-version/gitea-dump/* ubuntu@vps-123c23bd.vps.ovh.net:~/gitea/gitea_data/`
|
||||||
45
docker-compose.yml
Normal file
45
docker-compose.yml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
networks:
|
||||||
|
gitea:
|
||||||
|
external: false
|
||||||
|
|
||||||
|
services:
|
||||||
|
# 1. Gitea Core Engine (SQLite Variant)
|
||||||
|
server:
|
||||||
|
image: gitea/gitea:1.22
|
||||||
|
container_name: gitea_server
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- gitea
|
||||||
|
volumes:
|
||||||
|
- ./gitea_data:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
environment:
|
||||||
|
- USER_UID=1000
|
||||||
|
- USER_GID=1000
|
||||||
|
# Force Gitea to lock right onto your imported database file
|
||||||
|
- GITEA__database__DB_TYPE=sqlite3
|
||||||
|
- GITEA__database__PATH=/data/gitea.db
|
||||||
|
# Server URLs
|
||||||
|
- GITEA__server__DOMAIN=gitea.jms.rocks
|
||||||
|
- GITEA__server__ROOT_URL=https://gitea.jms.rocks/
|
||||||
|
- GITEA__server__HTTP_PORT=3000
|
||||||
|
- GITEA__server__SSH_PORT=2222
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:3000:3000"
|
||||||
|
- "2222:22"
|
||||||
|
|
||||||
|
# 2. SSL Reverse Proxy (Caddy)
|
||||||
|
caddy:
|
||||||
|
image: caddy:2-alpine
|
||||||
|
container_name: gitea_ssl
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
|
volumes:
|
||||||
|
- ./Caddyfile:/etc/caddy/Caddyfile
|
||||||
|
- ./caddy_data:/data
|
||||||
|
- ./caddy_config:/config
|
||||||
|
networks:
|
||||||
|
- gitea
|
||||||
29
gcloud-version/README.md
Normal file
29
gcloud-version/README.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
## GCP deploy
|
||||||
|
- `gcloud auth login`
|
||||||
|
- `gcloud config set project itsamejms`
|
||||||
|
- `gcloud auth application-default set-quota-project itsamejms`
|
||||||
|
- `gcloud run services list`
|
||||||
|
- `gcloud services enable run.googleapis.com artifactregistry.googleapis.com storage.googleapis.com`
|
||||||
|
- `gcloud storage buckets create gs://jms-git-bucket --location=europe-west1` # for snapshots
|
||||||
|
- `gcloud storage buckets create gs://jms-git-repos-storage --location=europe-west1` # for repositories .git folders
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
gcloud beta run deploy gitea-serverless \
|
||||||
|
--source . \
|
||||||
|
--region europe-west1 \
|
||||||
|
--allow-unauthenticated \
|
||||||
|
--max-instances 1 \
|
||||||
|
--memory 1Gi \
|
||||||
|
--port 3000 \
|
||||||
|
--set-env-vars="GCS_BUCKET_NAME=jms-git-bucket" \
|
||||||
|
--set-env-vars="GITEA_WORK_DIR=/data/gitea" \
|
||||||
|
--set-env-vars="GITEA_CUSTOM=/data/gitea" \
|
||||||
|
--set-env-vars="GCS_ACCESS_KEY=GCS_ACCESS_KEY" \
|
||||||
|
--set-env-vars="GCS_SECRET_KEY=GCS_SECRET_KEY" \
|
||||||
|
--add-volume=name=git-storage,type=cloud-storage,bucket=jms-git-repos-storage,mount-options="uid=1000;gid=1000;file-mode=0666;dir-mode=0777;stat-cache-ttl=600s;type-cache-ttl=600s" \
|
||||||
|
--add-volume-mount=volume=git-storage,mount-path=/data/gitea/app_data/repositories
|
||||||
|
```
|
||||||
|
|
||||||
|
### Gitea git dump
|
||||||
|
- `gcloud storage cp -r 'gs://jms-git-repos-storage/*' ./gitea-dump/`
|
||||||
Loading…
Reference in New Issue
Block a user