first deploy
works locally, production test in progress
This commit is contained in:
parent
daae92400d
commit
3e6e06779a
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
.env
|
||||||
|
gitea_data
|
112
app.example.ini
Normal file
112
app.example.ini
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
APP_NAME = Git with a cup of tea
|
||||||
|
RUN_USER = git
|
||||||
|
RUN_MODE = prod
|
||||||
|
|
||||||
|
[repository]
|
||||||
|
ROOT = /data/repositories
|
||||||
|
|
||||||
|
[server]
|
||||||
|
PROTOCOL = http
|
||||||
|
DOMAIN = git.example.com
|
||||||
|
ROOT_URL = https://git.example.com/
|
||||||
|
SSH_DOMAIN = git.example.com
|
||||||
|
HTTP_ADDR = 0.0.0.0
|
||||||
|
DISABLE_SSH = false
|
||||||
|
SSH_PORT = 22
|
||||||
|
OFFLINE_MODE = false
|
||||||
|
LFS_START_SERVER = true
|
||||||
|
LFS_CONTENT_PATH = /data/lfs
|
||||||
|
LFS_JWT_SECRET =
|
||||||
|
|
||||||
|
[database]
|
||||||
|
DB_TYPE = mysql
|
||||||
|
HOST = db:3306
|
||||||
|
NAME = gitea
|
||||||
|
USER = gitea
|
||||||
|
PASSWD =
|
||||||
|
SSL_MODE = disable
|
||||||
|
CHARSET = utf8mb4
|
||||||
|
LOG_SQL = false
|
||||||
|
|
||||||
|
[security]
|
||||||
|
INSTALL_LOCK = true
|
||||||
|
SECRET_KEY =
|
||||||
|
LOGIN_REMEMBER_DAYS = 28
|
||||||
|
INTERNAL_TOKEN =
|
||||||
|
MID_PASSWORD_LENGTH = 8
|
||||||
|
PASSWORD_COMPLEXITY = lower,upper,digit
|
||||||
|
PASSWORD_CHECK_PWN = true
|
||||||
|
|
||||||
|
[openid]
|
||||||
|
ENABLE_OPENID_SIGNIN = false
|
||||||
|
ENABLE_OPENID_SIGNUP = false
|
||||||
|
|
||||||
|
[service]
|
||||||
|
REGISTER_EMAIL_CONFIRM = false
|
||||||
|
DISABLE_REGISTRATION = false
|
||||||
|
REQUIRE_SIGNIN_VIEW = false
|
||||||
|
ENABLE_NOTIFY_MAIL = true
|
||||||
|
ENABLE_BASIC_AUTHENTICATION = false
|
||||||
|
ENABLE_CAPTCHA = false
|
||||||
|
DEFAULT_KEEP_EMAIL_PRIVATE = true
|
||||||
|
DEFAULT_ALLOW_CREATE_ORGANIZATION = false
|
||||||
|
DEFAULT_USER_IS_RESTRICTED = true
|
||||||
|
DEFAULT_ENABLE_TIMETRACKING = false
|
||||||
|
AUTO_WATCH_NEW_REPOS = false
|
||||||
|
DEFAULT_ORG_VISIBILITY = private
|
||||||
|
ALLOW_ONLY_EXTERNAL_REGISTRATION = false
|
||||||
|
NO_REPLY_ADDRESS = git.example.com
|
||||||
|
|
||||||
|
[mailer]
|
||||||
|
ENABLED = true
|
||||||
|
HOST = mail.example.com:465
|
||||||
|
FROM = "Gitea Bot" <no-reply@example.com>
|
||||||
|
USER = no-reply@example.com
|
||||||
|
PASSWD =
|
||||||
|
|
||||||
|
[session]
|
||||||
|
PROVIDER = file
|
||||||
|
COOKIE_SECURE = true
|
||||||
|
COOKIE_NAME = gitea
|
||||||
|
SESSION_LIFE_TIME = 2592000
|
||||||
|
|
||||||
|
[picture]
|
||||||
|
DISABLE_GRAVATAR = false
|
||||||
|
ENABLE_FEDERATED_AVATAR = true
|
||||||
|
|
||||||
|
[attachment]
|
||||||
|
ENABLE = true
|
||||||
|
ALLOWED_TYPES = image/jpeg|image/png|application/zip|application/gzip|application/x-gzip|application/octet-stream|application/x-zip-compressed|multipart/x-zip
|
||||||
|
MAX_SIZE = 40
|
||||||
|
MAX_FILES = 5
|
||||||
|
PATH = data/attachments
|
||||||
|
|
||||||
|
[log]
|
||||||
|
MODE = console
|
||||||
|
LEVEL = info
|
||||||
|
|
||||||
|
[cron.update_mirrors]
|
||||||
|
SCHEDULE = @every 24h
|
||||||
|
|
||||||
|
[api]
|
||||||
|
ENABLE_SWAGGER = false
|
||||||
|
|
||||||
|
[oauth2]
|
||||||
|
ENABLE = true
|
||||||
|
JWT_SECRET =
|
||||||
|
|
||||||
|
[i18n]
|
||||||
|
LANGS = en-US
|
||||||
|
NAMES = English
|
||||||
|
|
||||||
|
[U2F]
|
||||||
|
APP_ID = https://git.example.com
|
||||||
|
ROOT_URL = https://git.example.com
|
||||||
|
|
||||||
|
[federation]
|
||||||
|
ENABLED = false
|
||||||
|
|
||||||
|
[other]
|
||||||
|
SHOW_FOOTER_BRANDING = false
|
||||||
|
SHOW_FOOTER_VERSION = false
|
||||||
|
SHOW_FOOTER_TEMPLATE_LOAD_TIME = false
|
59
docker-compose.yml
Normal file
59
docker-compose.yml
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
container_name: ${SERVICE_NAME}_gitea
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
environment:
|
||||||
|
- USER_GID=${USER_GID}
|
||||||
|
- USER_UID=${USER_UID}
|
||||||
|
image: ${GITEA_VERSION}
|
||||||
|
labels:
|
||||||
|
- traefik.docker.network=traefik-proxy
|
||||||
|
- traefik.enable=true
|
||||||
|
### Section HTTP
|
||||||
|
- traefik.http.routers.http-${TRAEFIK_ROUTER}.entrypoints=http
|
||||||
|
- traefik.http.services.${TRAEFIK_SERVICE}.loadbalancer.server.port=8080
|
||||||
|
# redirect to HTTPS only
|
||||||
|
- traefik.http.routers.http-${TRAEFIK_ROUTER}.middlewares=http-to-https
|
||||||
|
- traefik.http.routers.http-${TRAEFIK_ROUTER}.rule=Host(`${TRAEFIK_HOST}`)
|
||||||
|
### Section HTTPS
|
||||||
|
- traefik.http.routers.https-${TRAEFIK_ROUTER}.entrypoints=https
|
||||||
|
- traefik.https.services.${TRAEFIK_SERVICE}.loadbalancer.server.port=3000
|
||||||
|
# configure the exposed service
|
||||||
|
- traefik.http.routers.https-${TRAEFIK_ROUTER}.rule=Host(`${TRAEFIK_HOST}`)
|
||||||
|
# of course, enable TLS and it's certificate provider
|
||||||
|
- traefik.http.routers.https-${TRAEFIK_ROUTER}.tls=true
|
||||||
|
- traefik.http.routers.https-${TRAEFIK_ROUTER}.tls.certresolver=letsencrypt
|
||||||
|
networks:
|
||||||
|
- internal
|
||||||
|
- traefik-proxy
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./gitea_data:/data
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
ports:
|
||||||
|
- 3000:3000
|
||||||
|
db:
|
||||||
|
container_name: ${SERVICE_NAME}_mysql
|
||||||
|
environment:
|
||||||
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
||||||
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||||
|
- MYSQL_RANDOM_ROOT_PASSWORD=yes
|
||||||
|
- MYSQL_USER=${MYSQL_USER}
|
||||||
|
image: ${MYSQL_VERSION}
|
||||||
|
networks:
|
||||||
|
- internal
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- database:/var/lib/mysql
|
||||||
|
|
||||||
|
networks:
|
||||||
|
internal:
|
||||||
|
traefik-proxy:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
database:
|
11
env.example
Normal file
11
env.example
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
GITEA_VERSION=gitea/gitea:latest
|
||||||
|
MYSQL_DATABASE=gitea
|
||||||
|
MYSQL_PASSWORD=
|
||||||
|
MYSQL_USER=gitea
|
||||||
|
MYSQL_VERSION=mariadb:10.6.3
|
||||||
|
SERVICE_NAME=git.bjphoster.com
|
||||||
|
TRAEFIK_HOST=git.bjphoster.com
|
||||||
|
TRAEFIK_ROUTER=git_bjphoster_com
|
||||||
|
TRAEFIK_SERVICE=gitbjphostercom
|
||||||
|
USER_GID=1000
|
||||||
|
USER_UID=1000
|
Loading…
Reference in New Issue
Block a user