Files
SSW590-DevOps/docker/gitea/README.md
T

54 lines
2.1 KiB
Markdown

# Inviscid Gitea foundation
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`.
Never run `docker compose down --volumes` against the working service.
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:
```sh
sudo docker compose config --quiet
sudo docker compose pull
sudo docker compose up -d
sudo docker compose ps
```
`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.
The Color Buttons container is managed outside Compose. To recreate it without a
published port:
```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:
```sh
ssh -i /path/to/your-private-key -o ExitOnForwardFailure=yes -N -L 127.0.0.1:3000:127.0.0.1:3000 ubuntu@100.49.80.94
```
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.
Keep passwords, app.ini, database files, and volume contents out of Git and screenshots.
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