Migrating from git.autonomic.zone repo

This commit is contained in:
Luke Murphy 2020-10-27 11:25:48 +01:00
parent ac39ae2f1d
commit 0b853246fc
No known key found for this signature in database
GPG Key ID: 5E2EF5A63E3718CC
5 changed files with 98 additions and 35 deletions

37
.drone.yml Normal file
View File

@ -0,0 +1,37 @@
---
kind: pipeline
name: deploy to swarm-test.autonomic.zone
steps:
- name: deployment
image: decentral1se/stack-ssh-deploy:latest
settings:
host: swarm-test.autonomic.zone
stack: gitea
deploy_key:
from_secret: drone_ssh_swarm_test
environment:
DOMAIN: gitea.swarm-test.autonomic.zone
STACK_NAME: gitea
LETS_ENCRYPT_ENV: production
GITEA_ALLOW_ONLY_EXTERNAL_REGISTRATION: true
GITEA_APP_NAME: Git with solidaritea
GITEA_AUTO_WATCH_NEW_REPOS: false
GITEA_DISABLE_REGISTRATION: false
GITEA_DOMAIN:gitea.swarm-test.autonomic.zone
GITEA_ENABLE_NOTIFY_MAIL: false
GITEA_ENABLE_OPENID_SIGNIN: true
GITEA_ENABLE_OPENID_SIGNUP: true
GITEA_MAILER_FROM: foo@example.com
GITEA_MAILER_HOST: smtp.example.com
GITEA_MAILER_USER: foo@example.com
GITEA_SSH_PORT: 2222
APP_INI_VERSION: v1
DB_PASSWD_VERSION: v1
DB_ROOT_PASSWD_VERSION: v1
INTERNAL_TOKEN_VERSION: v1
JWT_SECRET_VERSION: v1
SECRET_KEY_VERSION: v1
SMTP_PASSWD_VERSION: v1
trigger:
branch:
- master

View File

@ -1,3 +1,3 @@
# gitea
> https://gitea.io
[![Build Status](https://drone.autonomic.zone/api/badges/coop-cloud/gitea/status.svg)](https://drone.autonomic.zone/coop-cloud/gitea)

View File

@ -1,13 +1,25 @@
APP_NAME = {{ env "GITEA_APP_NAME" }}
RUN_MODE = prod
RUN_USER = git
[database]
CHARSET = utf8mb4
DB_TYPE = {{ env "GITEA_DB_TYPE" }}
HOST = {{ env "GITEA_DB_HOST" }}
NAME = {{ env "GITEA_DB_NAME" }}
PASSWD = {{ secret "db_passwd" }}
USER = {{ env "GITEA_DB_USER" }}
[service]
ALLOW_ONLY_EXTERNAL_REGISTRATION = {{ env "GITEA_ALLOW_ONLY_EXTERNAL_REGISTRATION" }}
AUTO_WATCH_NEW_REPOS = {{ env "GITEA_AUTO_WATCH_NEW_REPOS" }}
DISABLE_REGISTRATION = {{ env "GITEA_DISABLE_REGISTRATION" }}
ENABLE_NOTIFY_MAIL = {{ env "GITEA_ENABLE_NOTIFY_MAIL" }}
[openid]
ENABLE_OPENID_SIGNIN = {{ env "GITEA_ENABLE_OPENID_SIGNIN" }}
ENABLE_OPENID_SIGNUP = {{ env "GITEA_ENABLE_OPENID_SIGNUP" }}
[repository]
DEFAULT_BRANCH = main
@ -17,6 +29,7 @@ STARTUP_TIMEOUT = 0
[server]
APP_DATA_PATH = /data
DOMAIN = {{ env "GITEA_DOMAIN" }}
LANDING_PAGE = organizations
ROOT_URL = https://%(DOMAIN)s/
SSH_DOMAIN = {{ env "GITEA_DOMAIN" }}
SSH_LISTEN_PORT = {{ env "GITEA_SSH_PORT" }}
@ -31,6 +44,21 @@ SECRET_KEY = {{ secret "secret_key" }}
[oauth2]
JWT_SECRET = {{ secret "jwt_secret" }}
[mailer]
ENABLED = true
FROM = {{ env "GITEA_MAILER_FROM" }}
HOST = {{ env "GITEA_MAILER_HOST" }}
USER = {{ env "GITEA_MAILER_USER" }}
PASSWD = {{ secret "smtp_passwd" }}
MAILER_TYPE = smtp
IS_TLS_ENABLED = true
[markup.restructuredtext]
ENABLED = true
FILE_EXTENSIONS = .rst
RENDER_COMMAND = rst2html
IS_INPUT_FILE = false
[picture]
AVATAR_UPLOAD_PATH = /data/gitea/avatars
REPOSITORY_AVATAR_UPLOAD_PATH = /data/gitea/repo-avatars

View File

@ -2,7 +2,7 @@
version: "3.8"
services:
gitea:
app:
image: "gitea/gitea:1.12.5"
configs:
- source: app_ini
@ -12,16 +12,28 @@ services:
- internal_token
- jwt_secret
- secret_key
- smtp_passwd
environment:
- GITEA_APP_NAME=${APP_NAME}
- GITEA_DB_HOST=${DB_HOST}
- GITEA_DB_NAME=${DB_NAME}
- GITEA_DB_TYPE=${DB_TYPE}
- GITEA_DB_USER=${DB_USER}
- GITEA_ALLOW_ONLY_EXTERNAL_REGISTRATION
- GITEA_APP_NAME
- GITEA_AUTO_WATCH_NEW_REPOS
- GITEA_DB_HOST=mariadb:3306
- GITEA_DB_NAME=gitea
- GITEA_DB_TYPE=mysql
- GITEA_DB_USER=gitea
- GITEA_DISABLE_REGISTRATION
- GITEA_DOMAIN=${DOMAIN}
- GITEA_SSH_PORT=${SSH_HOST_PORT}
- GITEA_ENABLE_NOTIFY_MAIL
- GITEA_ENABLE_OPENID_SIGNIN
- GITEA_ENABLE_OPENID_SIGNUP
- GITEA_MAILER_FROM
- GITEA_MAILER_HOST
- GITEA_MAILER_USER
- GITEA_SSH_PORT
volumes:
- "git:/data"
- "/etc/timezone:/etc/timezone:ro"
- "/etc/localtime:/etc/localtime:ro"
networks:
- proxy
- internal
@ -30,24 +42,22 @@ services:
interval: 15s
timeout: 10s
retries: 10
start_period: 15s
start_period: 30s
deploy:
update_config:
failure_action: rollback
order: start-first
labels:
- "traefik.enable=true"
- "traefik.http.routers.gitea.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.gitea.entrypoints=web-secure"
- "traefik.http.services.gitea.loadbalancer.server.port=3000"
- "traefik.http.routers.gitea.tls.certresolver=${LETS_ENCRYPT_ENV:production}"
- "traefik.http.routers.gitea.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "traefik.tcp.routers.gitea-ssh.rule=HostSNI(`*`)"
- "traefik.tcp.routers.gitea-ssh.entrypoints=gitea-ssh"
- "traefik.tcp.services.gitea-ssh.loadbalancer.server.port=${SSH_HOST_PORT}"
- "traefik.tcp.services.gitea-ssh.loadbalancer.server.port=${GITEA_SSH_PORT}"
mariadb:
database:
image: "mariadb:10.5"
command: |
mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
@ -71,25 +81,28 @@ networks:
configs:
app_ini:
name: ${APP_INI_VERSION}
name: ${STACK_NAME}_app_ini_${APP_INI_VERSION}
file: app.ini.tmpl
template_driver: golang
secrets:
db_passwd:
name: ${DB_PASSWD_VERSION}
name: ${STACK_NAME}_db_passwd_${DB_PASSWD_VERSION}
external: true
db_root_passwd:
name: ${DB_ROOT_PASSWD_VERSION}
name: ${STACK_NAME}_db_root_passwd_${DB_ROOT_PASSWD_VERSION}
external: true
internal_token:
name: ${INTERNAL_TOKEN_VERSION}
name: ${STACK_NAME}_internal_token_${INTERNAL_TOKEN_VERSION}
external: true
jwt_secret:
name: ${JWT_SECRET_VERSION}
name: ${STACK_NAME}_jwt_secret_${JWT_SECRET_VERSION}
external: true
secret_key:
name: ${SECRET_KEY_VERSION}
name: ${STACK_NAME}_secret_key_${SECRET_KEY_VERSION}
external: true
smtp_passwd:
name: ${STACK_NAME}_smtp_passwd_${SMTP_PASSWD_VERSION}
external: true
volumes:

View File

@ -1,15 +0,0 @@
#!/bin/bash
create-admin () {
container=$(docker container ls -f "name=${STACK_NAME}_gitea" -q)
docker exec "$container" \
gitea \
--custom-path /data/gitea/ \
--config /data/gitea/conf/app.ini \
admin \
create-user \
--admin \
--username autonomic \
--password autonomic \
--email autonomic@autonomic.zone
}