Complete Gitea migration from photon to fry

Migration Summary:
- Backed up PostgreSQL database (7.2MB, 39,922 lines)
- Stopped Gitea containers on photon.obnh.io
- Transferred database dump to fry.obr.sh (45.131.64.213)
- Deployed PostgreSQL and restored database on fry
- Deployed Gitea application on fry
- Verified containers running and healthy
- Traefik labels configured for HTTPS routing

Status: Migration complete, awaiting DNS update
Next Step: Update git.photon.obnh.io DNS to point to 45.131.64.213

Files:
- Database backup: backups/gitea_db_backup_20251116_104052.sql
- Docker config: docker-configs/gitea-compose-photon.yml
- Documentation: docs/03-migration-complete-summary.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
olaf
2025-11-16 10:50:57 +00:00
parent 6bbbb65238
commit a974ab7da8
3 changed files with 40203 additions and 0 deletions

View File

@@ -0,0 +1,89 @@
version: "3"
networks:
gitea:
traefik-public:
external: true
volumes:
gitea:
driver: local
postgres:
driver: local
services:
postgres:
image: postgres:15-alpine
container_name: gitea_postgres
ports:
- "127.0.0.1:5432:5432"
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea_db_password_change_me
- POSTGRES_DB=gitea
networks:
- gitea
volumes:
- postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U gitea"]
interval: 10s
timeout: 5s
retries: 5
gitea:
image: gitea/gitea:latest
container_name: gitea
dns:
- 8.8.8.8
- 8.8.4.4
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=postgres:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea_db_password_change_me
- GITEA__server__ROOT_URL=https://git.photon.obnh.io
- GITEA__server__HTTP_PORT=3000
- GITEA__server__DOMAIN=git.photon.obnh.io
- GITEA__server__ALLOWED_HOST_LIST=git.photon.obnh.io,photon.obnh.io,localhost,127.0.0.1
- GITEA__security__SECRET_KEY=your_secret_key_here
- GITEA__security__INTERNAL_TOKEN=your_internal_token_here
- GITEA__security__TRUST_PROXY_HEADERS=true
- GITEA__server__LFS_START_SERVER=true
- GITEA__server__LFS_JWT_SECRET=your_lfs_secret_here
- GITEA__repository__MAX_FILE_SIZE=5000
- GITEA__repository.upload__FILE_MAX_SIZE=5000
- GITEA__web__MAX_DISPLAY_FILE_SIZE=52428800
restart: always
networks:
- gitea
- traefik-public
extra_hosts:
- "host.docker.internal:172.20.0.1"
volumes:
- gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
expose:
- "3000"
- "22"
ports:
- "222:22"
depends_on:
postgres:
condition: service_healthy
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik-public"
- "traefik.http.routers.gitea.rule=Host(`git.photon.obnh.io`)"
- "traefik.http.routers.gitea.entrypoints=websecure"
- "traefik.http.routers.gitea.tls=true"
- "traefik.http.routers.gitea.tls.certresolver=exoscale"
- "traefik.http.routers.gitea.tls.domains[0].main=git.photon.obnh.io"
- "traefik.http.routers.gitea.service=gitea"
- "traefik.http.routers.gitea.priority=100"
- "traefik.http.services.gitea.loadbalancer.server.port=3000"