| #!/bin/bash |
| |
| |
| |
|
|
| set -e |
|
|
| |
| if [ -f .env ]; then |
| export $(cat .env | grep -E '^(GITEA_USERNAME|GITEA_PASSWORD)=' | xargs) |
| else |
| echo "β Error: .env file not found" |
| echo " Please copy .env.example to .env and configure credentials" |
| exit 1 |
| fi |
|
|
| echo "=====================================" |
| echo "Setting up shared Gitea instance" |
| echo "=====================================" |
| echo |
|
|
| |
| echo "1. Starting Gitea container..." |
| docker-compose -f envs/git_env/docker-compose.gitea.yml up -d |
|
|
| |
| echo "2. Waiting for Gitea to be ready..." |
| timeout=60 |
| elapsed=0 |
| while [ $elapsed -lt $timeout ]; do |
| if docker exec openenv-gitea curl -sf http://localhost:3000/ > /dev/null 2>&1; then |
| echo " β Gitea is ready!" |
| break |
| fi |
| echo " Waiting... (${elapsed}s/${timeout}s)" |
| sleep 2 |
| elapsed=$((elapsed + 2)) |
| done |
|
|
| if [ $elapsed -ge $timeout ]; then |
| echo " β Timeout waiting for Gitea" |
| exit 1 |
| fi |
|
|
| |
| echo "3. Initializing Gitea configuration..." |
| docker exec openenv-gitea curl -s -X POST \ |
| -H "Content-Type: application/x-www-form-urlencoded" \ |
| -d "db_type=sqlite3" \ |
| -d "db_path=%2Fdata%2Fgitea%2Fgitea.db" \ |
| -d "app_name=Gitea" \ |
| -d "repo_root_path=%2Fdata%2Fgit%2Frepositories" \ |
| -d "run_user=git" \ |
| -d "domain=gitea" \ |
| -d "http_port=3000" \ |
| -d "app_url=http%3A%2F%2Fgitea%3A3000%2F" \ |
| -d "log_root_path=%2Fdata%2Fgitea%2Flog" \ |
| -d "offline_mode=on" \ |
| http://localhost:3000/ > /dev/null || echo " (Config may already exist)" |
|
|
| |
| echo "4. Creating admin user ($GITEA_USERNAME)..." |
| docker exec openenv-gitea su git -c \ |
| "gitea admin user create --username $GITEA_USERNAME --password $GITEA_PASSWORD --email ${GITEA_USERNAME}@local.env --admin" \ |
| 2>&1 | grep -q "already exists" && echo " β User already exists" || echo " β User created" |
|
|
| echo |
| echo "=====================================" |
| echo "β Gitea setup complete!" |
| echo "=====================================" |
| echo |
| echo "Gitea is now available at:" |
| echo " - Web UI: http://localhost:3000" |
| echo " - From containers: http://gitea:3000" |
| echo |
| echo "Admin credentials are configured from .env file" |
| echo |
| echo "To stop Gitea:" |
| echo " docker-compose -f envs/git_env/docker-compose.gitea.yml down" |
| echo |
| echo "To remove all data:" |
| echo " docker-compose -f envs/git_env/docker-compose.gitea.yml down -v" |
| echo |
|
|