## Summary - Migrate Forgejo from Homebrew to source-built binary with mcquack LaunchAgent - Matches the established pattern used by zot, caddy, and alloy - Upgrades to v14.0.3 (7 security fixes: PKCE bypass, OAuth scope bypass, open redirect, and more) ## Changes - **Ansible role**: Replace brew install/services with binary stat check + LaunchAgent - **Paths**: `/opt/homebrew/var/forgejo` → `~/forgejo`, binary at `~/code/3rd/forgejo/forgejo` - **Run user**: `forgejo` → `erichblume` (LaunchAgent user; SSH git user stays `forgejo`) - **Docs**: Updated Forgejo reference card, restart-indri guide - **Service review**: Stamped frigate-notify, cloudnative-pg, blumeops-pg as current ## One-time migration steps (manual, on indri) 1. Clone from Codeberg, add forge mirror remote 2. Check out v14.0.3, build with `make build && make forgejo` 3. Stop brew, `cp -a` data to `~/forgejo`, fix ownership 4. Run `provision-indri --tags forgejo` 5. Verify, then `brew uninstall forgejo` ## Data safety - `cp -a` preserves everything (repos, SQLite DB, LFS, sessions, OAuth config) - Brew version stays installed as rollback until verification passes - No schema changes between 14.0.2 → 14.0.3 Reviewed-on: #316
56 lines
1.6 KiB
YAML
56 lines
1.6 KiB
YAML
---
|
|
# Forgejo configuration
|
|
# Secrets are fetched from 1Password in the playbook pre_tasks
|
|
|
|
forgejo_app_name: Forgejo
|
|
forgejo_app_slogan: "Beyond coding. We Forge."
|
|
forgejo_run_user: erichblume
|
|
forgejo_run_mode: prod
|
|
|
|
# Source build paths
|
|
forgejo_repo_dir: /Users/erichblume/code/3rd/forgejo
|
|
forgejo_binary: "{{ forgejo_repo_dir }}/forgejo"
|
|
|
|
# Data paths (migrated from brew to ~/forgejo)
|
|
forgejo_work_path: /Users/erichblume/forgejo
|
|
forgejo_config_path: "{{ forgejo_work_path }}/custom/conf/app.ini"
|
|
forgejo_data_path: "{{ forgejo_work_path }}/data"
|
|
forgejo_repo_root: "{{ forgejo_data_path }}/forgejo-repositories"
|
|
forgejo_lfs_path: "{{ forgejo_data_path }}/lfs"
|
|
forgejo_log_path: "{{ forgejo_work_path }}/log"
|
|
forgejo_log_dir: /Users/erichblume/Library/Logs
|
|
|
|
# Server settings
|
|
forgejo_http_addr: 0.0.0.0
|
|
forgejo_http_port: 3001
|
|
forgejo_domain: forge.eblu.me
|
|
forgejo_ssh_domain: forge.ops.eblu.me
|
|
forgejo_root_url: "https://{{ forgejo_domain }}/"
|
|
forgejo_offline_mode: true
|
|
|
|
# SSH settings (built-in SSH server)
|
|
forgejo_disable_ssh: false
|
|
forgejo_start_ssh_server: true
|
|
forgejo_builtin_ssh_user: forgejo
|
|
forgejo_ssh_port: 2222
|
|
forgejo_ssh_listen_port: 2200
|
|
forgejo_lfs_start_server: true
|
|
|
|
# Database (SQLite)
|
|
forgejo_db_type: sqlite3
|
|
forgejo_db_path: "{{ forgejo_data_path }}/forgejo.db"
|
|
|
|
# Service settings
|
|
forgejo_disable_registration: true
|
|
forgejo_require_signin_view: false
|
|
|
|
# Session
|
|
forgejo_session_provider: file
|
|
|
|
# Logging
|
|
forgejo_log_mode: console
|
|
forgejo_log_level: info
|
|
|
|
# Actions (Forgejo CI)
|
|
forgejo_actions_enabled: true
|
|
forgejo_actions_default_url: https://code.forgejo.org
|