mirror of
https://github.com/Sea-Haven-Industries/forgejo.git
synced 2026-10-06 20:01:56 +00:00
Replace hardcoded instance ID in README with CloudFormation lookup
The instance ID changes on every instance replacement (version upgrades, stack updates). Using a dynamic query prevents stale references and removes a manual update step from the deploy process.
This commit is contained in:
parent
7aaf8340a5
commit
9d48c82d77
1 changed files with 10 additions and 4 deletions
14
README.md
14
README.md
|
|
@ -4,7 +4,10 @@ Self-hosted Forgejo git server for archiving GitHub repos and mirroring active o
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
- **EC2**: t4g.small (arm64), Amazon Linux 2023, 50GB gp3 EBS — instance `i-0d3005fb3c36124cd`
|
- **EC2**: t4g.small (arm64), Amazon Linux 2023, 50GB gp3 EBS — look up instance ID with:
|
||||||
|
```
|
||||||
|
aws cloudformation describe-stacks --stack-name forgejo --query 'Stacks[0].Outputs[?OutputKey==`InstanceId`].OutputValue' --output text
|
||||||
|
```
|
||||||
- **Network**: Private subnet (us-east-1a), behind `seahaven-com` ALB for SSL termination
|
- **Network**: Private subnet (us-east-1a), behind `seahaven-com` ALB for SSL termination
|
||||||
- **DNS**: `forgejo.seahaven.com` — Route53 alias record pointing to the `seahaven-com` ALB (not a direct A record)
|
- **DNS**: `forgejo.seahaven.com` — Route53 alias record pointing to the `seahaven-com` ALB (not a direct A record)
|
||||||
- **TLS**: Wildcard cert on ALB, HTTP internally on port 3000
|
- **TLS**: Wildcard cert on ALB, HTTP internally on port 3000
|
||||||
|
|
@ -148,7 +151,8 @@ sudo /usr/local/bin/forgejo-refresh-tokens.sh
|
||||||
After the stack deploys, connect via SSM and create the admin user:
|
After the stack deploys, connect via SSM and create the admin user:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
aws ssm start-session --target i-0d3005fb3c36124cd
|
INSTANCE_ID=$(aws cloudformation describe-stacks --stack-name forgejo --query 'Stacks[0].Outputs[?OutputKey==`InstanceId`].OutputValue' --output text)
|
||||||
|
aws ssm start-session --target "$INSTANCE_ID"
|
||||||
|
|
||||||
sudo -u forgejo /usr/local/bin/forgejo admin user create \
|
sudo -u forgejo /usr/local/bin/forgejo admin user create \
|
||||||
--admin \
|
--admin \
|
||||||
|
|
@ -200,7 +204,8 @@ CI/CD is handled by GitHub Actions — PRs run CI, merges to `main` deploy via t
|
||||||
After the first deploy with the 3-2-1 changes, the running instance's backup script still uses the old S3 path (without the `archive/` prefix). Update it via SSM:
|
After the first deploy with the 3-2-1 changes, the running instance's backup script still uses the old S3 path (without the `archive/` prefix). Update it via SSM:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
aws ssm start-session --target i-0d3005fb3c36124cd
|
INSTANCE_ID=$(aws cloudformation describe-stacks --stack-name forgejo --query 'Stacks[0].Outputs[?OutputKey==`InstanceId`].OutputValue' --output text)
|
||||||
|
aws ssm start-session --target "$INSTANCE_ID"
|
||||||
sudo sed -i 's|s3://forgejo-backups-328440206208/${TIMESTAMP}/|s3://forgejo-backups-328440206208/archive/${TIMESTAMP}/|' /usr/local/bin/forgejo-backup.sh
|
sudo sed -i 's|s3://forgejo-backups-328440206208/${TIMESTAMP}/|s3://forgejo-backups-328440206208/archive/${TIMESTAMP}/|' /usr/local/bin/forgejo-backup.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -217,7 +222,8 @@ aws secretsmanager create-secret --name forgejo/slack-webhook \
|
||||||
Update the `FORGEJO_VERSION` constant in `lib/forgejo-stack.ts` and deploy. This replaces the instance, so ensure the latest EBS snapshot is available for data recovery if needed. Alternatively, update in-place via SSM:
|
Update the `FORGEJO_VERSION` constant in `lib/forgejo-stack.ts` and deploy. This replaces the instance, so ensure the latest EBS snapshot is available for data recovery if needed. Alternatively, update in-place via SSM:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
aws ssm start-session --target i-0d3005fb3c36124cd
|
INSTANCE_ID=$(aws cloudformation describe-stacks --stack-name forgejo --query 'Stacks[0].Outputs[?OutputKey==`InstanceId`].OutputValue' --output text)
|
||||||
|
aws ssm start-session --target "$INSTANCE_ID"
|
||||||
|
|
||||||
sudo systemctl stop forgejo
|
sudo systemctl stop forgejo
|
||||||
sudo curl -Lo /usr/local/bin/forgejo "https://codeberg.org/forgejo/forgejo/releases/download/v<NEW_VERSION>/forgejo-<NEW_VERSION>-linux-arm64"
|
sudo curl -Lo /usr/local/bin/forgejo "https://codeberg.org/forgejo/forgejo/releases/download/v<NEW_VERSION>/forgejo-<NEW_VERSION>-linux-arm64"
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue