Upload files to "/"
This commit is contained in:
30
.env
Normal file
30
.env
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# Gitea container settings
|
||||||
|
GITEA_IMAGE=gitea/gitea:latest
|
||||||
|
GITEA_CONTAINER_NAME=gitea
|
||||||
|
GITEA_RESTART_POLICY=always
|
||||||
|
|
||||||
|
# User / time zone
|
||||||
|
GITEA_UID=1000
|
||||||
|
GITEA_GID=1000
|
||||||
|
GITEA_TZ=Europe/Rome
|
||||||
|
|
||||||
|
# Database (SQLite)
|
||||||
|
GITEA_DB_PATH=/data/gitea/gitea.db
|
||||||
|
|
||||||
|
# Server URLs and ports
|
||||||
|
GITEA_DOMAIN=git.pyconetwork.it
|
||||||
|
GITEA_SSH_DOMAIN=$GITEA_DOMAIN
|
||||||
|
GITEA_ROOT_URL=https://$GITEA_DOMAIN/
|
||||||
|
GITEA_PROTOCOL=http
|
||||||
|
GITEA_HTTP_PORT=3000
|
||||||
|
GITEA_SSH_PORT=2222
|
||||||
|
GITEA_START_SSH_SERVER=false
|
||||||
|
|
||||||
|
# Bind mount locations
|
||||||
|
GITEA_DATA_DIR=./data
|
||||||
|
GITEA_CONFIG_DIR=./config
|
||||||
|
|
||||||
|
# Nginx reverse proxy
|
||||||
|
NGINX_CONTAINER_NAME=gitea-nginx
|
||||||
|
NGINX_HTTP_PORT=80
|
||||||
|
NGINX_CONFIG_DIR=./nginx
|
||||||
43
docker-compose.yml
Normal file
43
docker-compose.yml
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
services:
|
||||||
|
nginx:
|
||||||
|
image: nginx:alpine
|
||||||
|
container_name: ${NGINX_CONTAINER_NAME:-gitea-nginx}
|
||||||
|
restart: ${GITEA_RESTART_POLICY}
|
||||||
|
ports:
|
||||||
|
- "${NGINX_HTTP_PORT:-80}:80"
|
||||||
|
volumes:
|
||||||
|
- ${NGINX_CONFIG_DIR:-./nginx}:/etc/nginx/conf.d:ro
|
||||||
|
depends_on:
|
||||||
|
- gitea
|
||||||
|
networks:
|
||||||
|
- gitea-network
|
||||||
|
|
||||||
|
gitea:
|
||||||
|
image: ${GITEA_IMAGE:-gitea/gitea}
|
||||||
|
container_name: ${GITEA_CONTAINER_NAME}
|
||||||
|
restart: ${GITEA_RESTART_POLICY}
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
environment:
|
||||||
|
- USER_UID=${GITEA_UID}
|
||||||
|
- USER_GID=${GITEA_GID}
|
||||||
|
- TZ=${GITEA_TZ}
|
||||||
|
- GITEA__database__DB_TYPE=sqlite3
|
||||||
|
- GITEA__database__PATH=${GITEA_DB_PATH:-/data/gitea/gitea.db}
|
||||||
|
- GITEA__server__DOMAIN=${GITEA_DOMAIN}
|
||||||
|
- GITEA__server__ROOT_URL=${GITEA_ROOT_URL}
|
||||||
|
- GITEA__server__SSH_DOMAIN=${GITEA_SSH_DOMAIN}
|
||||||
|
- GITEA__server__PROTOCOL=${GITEA_PROTOCOL}
|
||||||
|
- GITEA__server__SSH_PORT=${GITEA_SSH_PORT}
|
||||||
|
- GITEA__server__START_SSH_SERVER=${GITEA_START_SSH_SERVER}
|
||||||
|
volumes:
|
||||||
|
- ${GITEA_DATA_DIR}:/data
|
||||||
|
- ${GITEA_CONFIG_DIR}:/etc/gitea
|
||||||
|
ports:
|
||||||
|
- "${GITEA_SSH_PORT}:22" # SSH for git over SSH
|
||||||
|
networks:
|
||||||
|
- gitea-network
|
||||||
|
|
||||||
|
networks:
|
||||||
|
gitea-network:
|
||||||
|
driver: bridge
|
||||||
28
gitea.conf
Normal file
28
gitea.conf
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
upstream gitea {
|
||||||
|
server gitea:3000;
|
||||||
|
}
|
||||||
|
|
||||||
|
map $http_x_forwarded_proto $forwarded_proto {
|
||||||
|
default $http_x_forwarded_proto;
|
||||||
|
'' $scheme;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name _;
|
||||||
|
|
||||||
|
client_max_body_size 512M;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://gitea;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $forwarded_proto;
|
||||||
|
proxy_set_header X-Forwarded-Host $host;
|
||||||
|
proxy_set_header X-Forwarded-Port $server_port;
|
||||||
|
|
||||||
|
proxy_buffering off;
|
||||||
|
proxy_request_buffering off;
|
||||||
|
}
|
||||||
|
}
|
||||||
54
setup.sh
Normal file
54
setup.sh
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
ENV_FILE="$SCRIPT_DIR/.env"
|
||||||
|
|
||||||
|
if [ -f "$ENV_FILE" ]; then
|
||||||
|
set -a
|
||||||
|
# shellcheck disable=SC1090
|
||||||
|
. "$ENV_FILE"
|
||||||
|
set +a
|
||||||
|
fi
|
||||||
|
|
||||||
|
: "${GITEA_UID:=1000}"
|
||||||
|
: "${GITEA_GID:=1000}"
|
||||||
|
: "${GITEA_DATA_DIR:=./data}"
|
||||||
|
: "${GITEA_CONFIG_DIR:=./config}"
|
||||||
|
: "${NGINX_CONFIG_DIR:=./nginx}"
|
||||||
|
|
||||||
|
resolve_path() {
|
||||||
|
case "$1" in
|
||||||
|
/*) printf '%s\n' "$1" ;;
|
||||||
|
*) printf '%s/%s\n' "$SCRIPT_DIR" "$1" ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
DATA_DIR="$(resolve_path "$GITEA_DATA_DIR")"
|
||||||
|
CONFIG_DIR="$(resolve_path "$GITEA_CONFIG_DIR")"
|
||||||
|
NGINX_DIR="$(resolve_path "$NGINX_CONFIG_DIR")"
|
||||||
|
|
||||||
|
mkdir -p "$DATA_DIR" "$CONFIG_DIR" "$NGINX_DIR"
|
||||||
|
|
||||||
|
chown_cmd=(chown -R "${GITEA_UID}:${GITEA_GID}" "$DATA_DIR" "$CONFIG_DIR")
|
||||||
|
if [ "$(id -u)" -ne 0 ]; then
|
||||||
|
if command -v sudo >/dev/null 2>&1; then
|
||||||
|
sudo "${chown_cmd[@]}"
|
||||||
|
else
|
||||||
|
echo "Need ownership change to ${GITEA_UID}:${GITEA_GID}; re-run as root or with sudo" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
"${chown_cmd[@]}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if docker compose version >/dev/null 2>&1; then
|
||||||
|
COMPOSE_CMD=(docker compose)
|
||||||
|
elif command -v docker-compose >/dev/null 2>&1; then
|
||||||
|
COMPOSE_CMD=(docker-compose)
|
||||||
|
else
|
||||||
|
echo "docker compose not found" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
(cd "$SCRIPT_DIR" && "${COMPOSE_CMD[@]}" up -d)
|
||||||
Reference in New Issue
Block a user