Add repo README, update Gitea README, add Caddy HTTPS proxy
This commit is contained in:
1 parent
aeba4fe443
commit
0cd8561d44
4 files changed
+110
-46
No files matched your search
+24
-43
@@ -1,13 +1,16 @@
|
||||
# Inviscid Gitea foundation
|
||||
|
||||
This is the temporary, Gitea-only deployment used before the domain was registered; retain it as the initial deployment configuration.
|
||||
The official image version is pinned; verify that it pulls before starting the service.
|
||||
This directory deploys Gitea at https://git.inviscid.dev/ behind a Caddy reverse proxy.
|
||||
The official image version is pinned.
|
||||
SQLite is `/data/gitea/gitea.db`; repositories and other application data share the
|
||||
persistent named volume `inviscid_gitea_data`. Container replacement must preserve it.
|
||||
persistent named volume `inviscid_gitea_data`.
|
||||
Never run `docker compose down --volumes` against the working service.
|
||||
|
||||
Only EC2 loopback port 3000 is published. Initial browser access uses an SSH tunnel.
|
||||
The existing Color Buttons container remains unchanged on port 80.
|
||||
Only Caddy publishes host ports (80 and 443). Caddy terminates TLS and forwards to
|
||||
`gitea:3000` over the private `inviscid_services` network. Gitea's port 3000 is also
|
||||
bound to EC2 loopback only, for SSH-tunnel administration.
|
||||
The Color Buttons container (`ssw590-group-buttons`) no longer publishes port 80; it
|
||||
runs on `inviscid_services` and Caddy serves it at http://100.49.80.94.
|
||||
No public backend or Git SSH firewall rule is needed.
|
||||
|
||||
From this directory on EC2:
|
||||
@@ -19,30 +22,18 @@ sudo docker compose up -d
|
||||
sudo docker compose ps
|
||||
```
|
||||
|
||||
This initial configuration is NOT the final hostname-based HTTPS deployment.
|
||||
After domain registration, replace DOMAIN and ROOT_URL with the actual hostname
|
||||
and HTTPS URL. Payton can attach Caddy to `inviscid_services` and forward to
|
||||
`gitea:3000`, publish the proxy web ports, persist certificate state, and resolve
|
||||
the existing website's port-80 mapping. Remove the loopback mapping if no longer needed.
|
||||
`Caddyfile` must be in this directory before `up`; if it is missing, Docker creates a
|
||||
directory in its place and Caddy fails to start. Caddy obtains and renews the
|
||||
Let's Encrypt certificate automatically; certificate state persists in the
|
||||
`inviscid_caddy_data` and `inviscid_caddy_config` volumes.
|
||||
|
||||
Self-registration is disabled. Create the initial administrator through the installer;
|
||||
create Payton's separate account using administration after initialization.
|
||||
Keep passwords, app.ini, database files, and volume contents out of Git and screenshots.
|
||||
The Color Buttons container is managed outside Compose. To recreate it without a
|
||||
published port:
|
||||
|
||||
Sources:
|
||||
- https://docs.gitea.com/installation/install-with-docker/
|
||||
- https://docs.gitea.com/administration/config-cheat-sheet/
|
||||
|
||||
## Recorded deployment (October 12, 2026)
|
||||
|
||||
- EC2: `ssw590-group-web`, `i-025a57432604c8d4b`, us-east-1.
|
||||
- Current public Elastic IP: `100.49.80.94` (replaces `54.221.175.174`).
|
||||
- Remote configuration directory: `/home/ubuntu/gitea`.
|
||||
- Observed image digest: `docker.gitea.com/gitea@sha256:f505a0d3a41323b786e05942fc7a4075e07ae7c169fd9485649aa55ee543a21a`.
|
||||
- Gitea initialized with site title Inviscid; victor is administrator and payton is a regular user.
|
||||
- Local HTTP check returned 200; named-volume mount and SQLite file were verified.
|
||||
- Both containers remained running following Elastic IP association.
|
||||
- This October 12 configuration predates domain registration; see the October 15 update below.
|
||||
```sh
|
||||
sudo docker run -d --name ssw590-group-buttons --restart unless-stopped \
|
||||
--network inviscid_services ssw590-group-buttons
|
||||
```
|
||||
|
||||
For private browser access, use your own authorized key:
|
||||
|
||||
@@ -53,20 +44,10 @@ ssh -i /path/to/your-private-key -o ExitOnForwardFailure=yes -N -L 127.0.0.1:300
|
||||
Open http://localhost:3000 while the tunnel stays open. Each team member must
|
||||
have their public key authorized and their source IP allowed for administrative SSH.
|
||||
|
||||
## October 15 handoff update
|
||||
Keep passwords, app.ini, database files, and volume contents out of Git and screenshots.
|
||||
|
||||
- Student Pack domain offer redeemed: `inviscid.dev`, Name.com, one year at $0.00.
|
||||
- Displayed renewal: October 15, 2027 at $22.99; auto-renew enabled. Victor owns renewal.
|
||||
- Saved A record: `git.inviscid.dev` -> `100.49.80.94`, TTL 300.
|
||||
- Windows lookups via 1.1.1.1 and 8.8.8.8 both returned that IP at 19:17 EDT.
|
||||
- Both users are organization owners of `Inviscid`; Payton's SSH/Gitea access works per Victor.
|
||||
- Existing main history pushed to `Inviscid/SSW590-DevOps`; issue #1 and PR #2 created.
|
||||
- PR #2 (`da6a369`, `codex/gitea-foundation-docs`) awaits Payton's review and merge.
|
||||
- Payton owns the remaining Gitea tasks; Victor will review his separate PR.
|
||||
- Public HTTPS, renewal tests, external exposure, container replacement persistence,
|
||||
README/five-issue completion, and two completed reviewed PR workflows are not yet verified.
|
||||
|
||||
Payton: update DOMAIN to `git.inviscid.dev` and ROOT_URL to
|
||||
`https://git.inviscid.dev/` alongside Caddy configuration. The tracked Compose
|
||||
file still intentionally records the initial localhost setup; do not interpret
|
||||
the new DNS record as proof that HTTPS has been deployed.
|
||||
Sources:
|
||||
- https://docs.gitea.com/installation/install-with-docker/
|
||||
- https://docs.gitea.com/administration/config-cheat-sheet/
|
||||
- https://caddyserver.com/docs/running#docker-compose
|
||||
- https://caddyserver.com/docs/automatic-https
|
||||
Reference in new issue
Block a user