"vault backup: 2026-03-08 13:36:25 from Flow"
This commit is contained in:
85
21-Server Reference/stacks/gitea.md
Normal file
85
21-Server Reference/stacks/gitea.md
Normal file
@@ -0,0 +1,85 @@
|
||||
# Gitea
|
||||
|
||||
Self-hosted Git service (GitHub alternative).
|
||||
|
||||
## Access
|
||||
- **Tailscale:** [gitea.bunny-wyvern.ts.net](https://gitea.bunny-wyvern.ts.net)
|
||||
- **LAN Web:** `http://192.168.2.114:3000`
|
||||
- **LAN SSH:** `ssh://192.168.2.114:2222`
|
||||
|
||||
## Containers
|
||||
|
||||
| Container | Image | Role |
|
||||
|---|---|---|
|
||||
| `gitea` | `gitea/gitea:latest` | Web app + Git server |
|
||||
| `gitea_db` | `mysql:8` | MySQL database |
|
||||
| `gitea-tailscale-sidecar` | `tailscale/tailscale:latest` | Tailscale node |
|
||||
|
||||
## Compose File
|
||||
**Path:** `/home/artanis/DockerFiles/gitea/docker-compose.yml`
|
||||
|
||||
```yaml
|
||||
services:
|
||||
gitea:
|
||||
image: gitea/gitea:latest
|
||||
container_name: gitea
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
- GITEA__database__DB_TYPE=mysql
|
||||
- GITEA__database__HOST=db:3306
|
||||
- GITEA__database__NAME=gitea
|
||||
- GITEA__database__USER=gitea
|
||||
- GITEA__database__PASSWD=<redacted>
|
||||
volumes:
|
||||
- /home/artanis/DockerFiles/gitea/gitea_data:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- "3000:3000"
|
||||
- "2222:2222"
|
||||
|
||||
db:
|
||||
image: mysql:8
|
||||
container_name: gitea_db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=<redacted>
|
||||
- MYSQL_DATABASE=gitea
|
||||
- MYSQL_USER=gitea
|
||||
- MYSQL_PASSWORD=<redacted>
|
||||
volumes:
|
||||
- /home/artanis/DockerFiles/gitea/gitea_db_data:/var/lib/mysql
|
||||
|
||||
gitea-tailscale-sidecar:
|
||||
image: tailscale/tailscale:latest
|
||||
container_name: gitea-tailscale-sidecar
|
||||
restart: always
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
devices:
|
||||
- /dev/net/tun
|
||||
volumes:
|
||||
- gitea_tailscale_state:/var/lib/tailscale
|
||||
environment:
|
||||
- TS_AUTHKEY=<redacted>
|
||||
- TS_HOSTNAME=gitea
|
||||
- TS_STATE_DIR=/var/lib/tailscale
|
||||
network_mode: "service:gitea"
|
||||
|
||||
volumes:
|
||||
gitea_tailscale_state:
|
||||
```
|
||||
|
||||
## Data Layout
|
||||
|
||||
| Path | Contents |
|
||||
|---|---|
|
||||
| `/home/artanis/DockerFiles/gitea/gitea_data` | Gitea repos, config, attachments |
|
||||
| `/home/artanis/DockerFiles/gitea/gitea_db_data` | MySQL data directory |
|
||||
|
||||
## Notes
|
||||
- Database: MySQL 8 (separate container `gitea_db`)
|
||||
- Port 2222 is exposed for SSH-based Git operations (clone/push via `ssh://`)
|
||||
- Timezone files from the host are mounted read-only to keep Gitea's timestamps consistent
|
||||
Reference in New Issue
Block a user