55 lines
2.3 KiB
Markdown
55 lines
2.3 KiB
Markdown
Forgejo on halla-aho.net
|
||
========================
|
||
|
||
Lightweight Git hosting + CI with Forgejo (Gitea fork) behind Apache on halla-aho.net.
|
||
|
||
What’s included
|
||
- Docker Compose for Forgejo + SSH and an Actions runner (`forgejo/docker-compose.yml`).
|
||
- Apache vhost snippet (added to `default-ssl.conf`) to reverse-proxy `git.halla-aho.net` to the Forgejo container on port 3200.
|
||
- SSH for git is exposed on host port 2223 (mapped to container 22); change in compose if that port is taken.
|
||
|
||
Prereqs
|
||
- Docker installed on halla-aho.net.
|
||
- SSLMate certs for `git.halla-aho.net` placed on the host (paths referenced in `default-ssl.conf`).
|
||
- A DNS record for `git.halla-aho.net` pointing to the server.
|
||
|
||
Deploy Forgejo
|
||
1) Create host dirs for data:
|
||
```
|
||
sudo mkdir -p /srv/forgejo/data /srv/forgejo/runner
|
||
sudo chown -R $USER:$USER /srv/forgejo
|
||
```
|
||
2) Start the Forgejo service:
|
||
```
|
||
docker compose -f forgejo/docker-compose.yml up -d forgejo
|
||
```
|
||
- If port 2223 is already in use, edit `forgejo/docker-compose.yml` (`ports:` and `FORGEJO__SERVER__SSH_PORT`) to another free port, then rerun the command.
|
||
3) Configure Apache (already added to `default-ssl.conf`):
|
||
- VirtualHost `git.halla-aho.net:9443` proxies to `http://127.0.0.1:3200/`.
|
||
- TLS files: `/etc/apache2/ssl/git.halla-aho.net.{crt,key,chain.crt}` (update if different).
|
||
- Enable the site and reload Apache.
|
||
4) Finish setup in the UI at `https://git.halla-aho.net/`:
|
||
- Create the admin user.
|
||
- Configure SMTP in the admin UI (Mail settings).
|
||
- Set `ROOT_URL`/`SSH_DOMAIN` if you change ports/domains.
|
||
|
||
Register the Actions runner
|
||
1) In Forgejo, create a runner registration token (Site Admin → Runners).
|
||
2) Register the runner (writes `/srv/forgejo/runner/config.yaml`):
|
||
```
|
||
docker compose -f forgejo/docker-compose.yml run --rm runner \
|
||
forgejo-runner register \
|
||
--instance https://git.halla-aho.net \
|
||
--token <REGISTRATION_TOKEN> \
|
||
--name halla-runner \
|
||
--labels docker \
|
||
--config /data/config.yaml
|
||
```
|
||
3) Start the runner:
|
||
```
|
||
docker compose -f forgejo/docker-compose.yml up -d runner
|
||
```
|
||
|
||
CI workflow for this repo
|
||
- Add workflows under `.forgejo/workflows/`.
|
||
- Example included: `ci.yml` runs npm install + lint + type-check + format check on push/PR using the `docker` runner label.
|