Initial commit
Some checks failed
CI/CD Pipeline / Code Quality & Linting (push) Has been cancelled
CI/CD Pipeline / Policy Validation (push) Has been cancelled
CI/CD Pipeline / Test Suite (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-coverage) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-extract) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-firm-connectors) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-forms) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-hmrc) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-ingestion) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-kg) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-normalize-map) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-ocr) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rag-indexer) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rag-retriever) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-reason) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rpa) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (ui-review) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-coverage) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-extract) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-kg) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-rag-retriever) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (ui-review) (push) Has been cancelled
CI/CD Pipeline / Generate SBOM (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Notifications (push) Has been cancelled
Some checks failed
CI/CD Pipeline / Code Quality & Linting (push) Has been cancelled
CI/CD Pipeline / Policy Validation (push) Has been cancelled
CI/CD Pipeline / Test Suite (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-coverage) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-extract) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-firm-connectors) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-forms) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-hmrc) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-ingestion) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-kg) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-normalize-map) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-ocr) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rag-indexer) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rag-retriever) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-reason) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (svc-rpa) (push) Has been cancelled
CI/CD Pipeline / Build Docker Images (ui-review) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-coverage) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-extract) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-kg) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (svc-rag-retriever) (push) Has been cancelled
CI/CD Pipeline / Security Scanning (ui-review) (push) Has been cancelled
CI/CD Pipeline / Generate SBOM (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Notifications (push) Has been cancelled
This commit is contained in:
152
scripts/enable-gitea-registry.sh
Executable file
152
scripts/enable-gitea-registry.sh
Executable file
@@ -0,0 +1,152 @@
|
||||
#!/bin/bash
|
||||
# Enable Gitea Container Registry
|
||||
# This script configures Gitea to support Docker container registry
|
||||
|
||||
set -e
|
||||
|
||||
REMOTE_HOST="deploy@141.136.35.199"
|
||||
GITEA_PATH="/opt/compose/gitea"
|
||||
|
||||
echo "🔧 Enabling Gitea Container Registry..."
|
||||
|
||||
# Step 1: Add packages configuration to Gitea
|
||||
echo "📝 Step 1: Configuring Gitea packages..."
|
||||
|
||||
ssh $REMOTE_HOST << 'EOF'
|
||||
# Create custom configuration directory if it doesn't exist
|
||||
sudo mkdir -p /opt/compose/gitea/custom/conf
|
||||
|
||||
# Create or update custom app.ini with packages enabled
|
||||
sudo tee /opt/compose/gitea/custom/conf/app.ini > /dev/null << 'GITEA_CONFIG'
|
||||
[packages]
|
||||
ENABLED = true
|
||||
CHUNKED_UPLOAD_PATH = /data/gitea/tmp/package-upload
|
||||
|
||||
[packages.container]
|
||||
ENABLED = true
|
||||
GITEA_CONFIG
|
||||
|
||||
echo "✅ Gitea configuration created"
|
||||
EOF
|
||||
|
||||
# Step 2: Update Gitea compose file to mount custom config and add registry labels
|
||||
echo "📝 Step 2: Updating Gitea compose file..."
|
||||
|
||||
ssh $REMOTE_HOST << 'EOF'
|
||||
cd /opt/compose/gitea
|
||||
|
||||
# Backup current compose file
|
||||
sudo cp compose.yaml compose.yaml.backup
|
||||
|
||||
# Create updated compose file with registry support
|
||||
sudo tee compose.yaml > /dev/null << 'COMPOSE_FILE'
|
||||
---
|
||||
services:
|
||||
server:
|
||||
image: docker.io/gitea/gitea:1.24.5
|
||||
container_name: gitea-server
|
||||
env_file:
|
||||
- ./.env
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
- GITEA__database__DB_TYPE=postgres
|
||||
- GITEA__database__HOST=${POSTGRES_HOST:-db}:${POSTGRES_PORT:-5432}
|
||||
- GITEA__database__NAME=${POSTGRES_DB:-gitea}
|
||||
- GITEA__database__USER=${POSTGRES_USER:-gitea}
|
||||
- GITEA__database__PASSWD=${POSTGRES_PASSWORD:?POSTGRES_PASSWORD not set}
|
||||
- GITEA__server__SSH_PORT=2221
|
||||
- GITEA__server__ROOT_URL=https://gitea.harkon.co.uk
|
||||
- GITEA__packages__ENABLED=true
|
||||
- GITEA__packages__CHUNKED_UPLOAD_PATH=/data/gitea/tmp/package-upload
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
volumes:
|
||||
- gitea-data:/data
|
||||
- ./custom/conf/app.ini:/data/gitea/conf/app.ini.custom:ro
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- "2221:22"
|
||||
depends_on:
|
||||
- db
|
||||
labels:
|
||||
# Main Gitea web interface
|
||||
- traefik.enable=true
|
||||
- traefik.http.services.gitea.loadbalancer.server.port=3000
|
||||
- traefik.http.services.gitea.loadbalancer.server.scheme=http
|
||||
- traefik.http.routers.gitea-https.entrypoints=websecure
|
||||
- traefik.http.routers.gitea-https.rule=Host(`gitea.harkon.co.uk`)
|
||||
- traefik.http.routers.gitea-https.tls=true
|
||||
- traefik.http.routers.gitea-https.tls.certresolver=godaddy
|
||||
- traefik.http.routers.gitea-https.service=gitea
|
||||
# Container Registry (same port, different subdomain)
|
||||
- traefik.http.routers.gitea-registry.entrypoints=websecure
|
||||
- traefik.http.routers.gitea-registry.rule=Host(`registry.harkon.co.uk`)
|
||||
- traefik.http.routers.gitea-registry.tls=true
|
||||
- traefik.http.routers.gitea-registry.tls.certresolver=godaddy
|
||||
- traefik.http.routers.gitea-registry.service=gitea
|
||||
restart: unless-stopped
|
||||
|
||||
db:
|
||||
image: docker.io/library/postgres:17.5
|
||||
container_name: gitea-db
|
||||
environment:
|
||||
- POSTGRES_USER=${POSTGRES_USER:-gitea}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:?POSTGRES_PASSWORD not set}
|
||||
- POSTGRES_DB=${POSTGRES_DB:-gitea}
|
||||
networks:
|
||||
- backend
|
||||
volumes:
|
||||
- gitea-db:/var/lib/postgresql/data
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
gitea-data:
|
||||
driver: local
|
||||
gitea-db:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
frontend:
|
||||
external: true
|
||||
backend:
|
||||
external: true
|
||||
COMPOSE_FILE
|
||||
|
||||
echo "✅ Gitea compose file updated"
|
||||
EOF
|
||||
|
||||
# Step 3: Restart Gitea to apply changes
|
||||
echo "📝 Step 3: Restarting Gitea..."
|
||||
|
||||
ssh $REMOTE_HOST << 'EOF'
|
||||
cd /opt/compose/gitea
|
||||
docker compose down
|
||||
docker compose up -d
|
||||
|
||||
echo "⏳ Waiting for Gitea to start..."
|
||||
sleep 15
|
||||
|
||||
echo "✅ Gitea restarted"
|
||||
EOF
|
||||
|
||||
echo ""
|
||||
echo "✅ Gitea Container Registry enabled successfully!"
|
||||
echo ""
|
||||
echo "📋 Next steps:"
|
||||
echo "1. Verify DNS: dig registry.harkon.co.uk (should point to 141.136.35.199)"
|
||||
echo "2. Wait for SSL certificate (Traefik will auto-generate)"
|
||||
echo "3. Create Gitea access token:"
|
||||
echo " - Login to https://gitea.harkon.co.uk"
|
||||
echo " - Settings → Applications → Generate New Token"
|
||||
echo " - Select scope: write:package"
|
||||
echo "4. Login to registry:"
|
||||
echo " docker login registry.harkon.co.uk"
|
||||
echo " Username: <your-gitea-username>"
|
||||
echo " Password: <your-access-token>"
|
||||
echo ""
|
||||
echo "🔍 Check Gitea logs:"
|
||||
echo " ssh deploy@141.136.35.199 'docker logs gitea-server'"
|
||||
|
||||
Reference in New Issue
Block a user