chore: add gitea mariadb deployment
This commit is contained in:
@@ -0,0 +1,2 @@
|
|||||||
|
MARIADB_ROOT_PASSWORD=replace-with-a-long-random-password
|
||||||
|
MARIADB_PASSWORD=replace-with-another-long-random-password
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
git.roncarve.com {
|
||||||
|
encode zstd gzip
|
||||||
|
reverse_proxy gitea:3000
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Gitea self-managed deployment
|
||||||
|
|
||||||
|
Gitea runs behind the existing Caddy gateway at `https://git.roncarve.com` and stores its data in MariaDB.
|
||||||
|
The web service is private to Docker network `gateway_gateway`; Caddy proxies to `gitea:3000`.
|
||||||
|
Git over SSH is exposed on host port `2222`:
|
||||||
|
|
||||||
|
```text
|
||||||
|
git clone ssh://git@git.roncarve.com:2222/owner/repository.git
|
||||||
|
```
|
||||||
|
|
||||||
|
Persistent data is stored under `/opt/gitea` on the server. MariaDB is only available inside the Docker network and is not exposed on a host port.
|
||||||
|
|
||||||
|
The first visit opens Gitea's installation page. Complete the setup and create the first administrator account there.
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
services:
|
||||||
|
gitea:
|
||||||
|
image: docker.gitea.com/gitea:latest
|
||||||
|
container_name: gitea
|
||||||
|
hostname: git.roncarve.com
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
mariadb:
|
||||||
|
condition: service_healthy
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
environment:
|
||||||
|
GITEA__server__DOMAIN: git.roncarve.com
|
||||||
|
GITEA__server__SSH_DOMAIN: git.roncarve.com
|
||||||
|
GITEA__server__ROOT_URL: https://git.roncarve.com/
|
||||||
|
GITEA__server__PROTOCOL: http
|
||||||
|
GITEA__server__HTTP_PORT: "3000"
|
||||||
|
GITEA__server__SSH_PORT: "2222"
|
||||||
|
GITEA__database__DB_TYPE: mysql
|
||||||
|
GITEA__database__HOST: mariadb:3306
|
||||||
|
GITEA__database__NAME: gitea
|
||||||
|
GITEA__database__USER: gitea
|
||||||
|
GITEA__database__PASSWD: ${MARIADB_PASSWORD}
|
||||||
|
GITEA__mailer__PROTOCOL: smtps
|
||||||
|
ports:
|
||||||
|
- "2222:22"
|
||||||
|
volumes:
|
||||||
|
- /opt/gitea:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
networks:
|
||||||
|
gateway:
|
||||||
|
aliases:
|
||||||
|
- gitea
|
||||||
|
|
||||||
|
mariadb:
|
||||||
|
image: mariadb:11.4
|
||||||
|
container_name: gitea-mariadb
|
||||||
|
restart: unless-stopped
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
environment:
|
||||||
|
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
|
||||||
|
MARIADB_DATABASE: gitea
|
||||||
|
MARIADB_USER: gitea
|
||||||
|
MARIADB_PASSWORD: ${MARIADB_PASSWORD}
|
||||||
|
volumes:
|
||||||
|
- /opt/gitea/mariadb:/var/lib/mysql
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 12
|
||||||
|
networks:
|
||||||
|
gateway:
|
||||||
|
aliases:
|
||||||
|
- mariadb
|
||||||
|
|
||||||
|
networks:
|
||||||
|
gateway:
|
||||||
|
external: true
|
||||||
|
name: gateway_gateway
|
||||||
Reference in New Issue
Block a user