Valentin Lab
6 years ago
6 changed files with 226 additions and 0 deletions
-
100gitea/hooks/init
-
47gitea/hooks/postgres_database-relation-joined
-
8gitea/hooks/pre_deploy
-
11gitea/hooks/web_proxy-relation-joined
-
22gitea/lib/common
-
38gitea/metadata.yml
@ -0,0 +1,100 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
## Init is run on host |
||||
|
## For now it is run every time the script is launched, but |
||||
|
## it should be launched only once after build. |
||||
|
|
||||
|
## Accessible variables are: |
||||
|
## - SERVICE_NAME Name of current service |
||||
|
## - DOCKER_BASE_IMAGE Base image from which this service might be built if any |
||||
|
## - SERVICE_DATASTORE Location on host of the DATASTORE of this service |
||||
|
## - SERVICE_CONFIGSTORE Location on host of the CONFIGSTORE of this service |
||||
|
|
||||
|
|
||||
|
set -e |
||||
|
|
||||
|
. lib/common |
||||
|
|
||||
|
mkdir -p "$(dirname "$SERVICE_DATASTORE$CONFIG_FILE")" |
||||
|
cat <<EOF > "$SERVICE_DATASTORE$CONFIG_FILE" |
||||
|
|
||||
|
APP_NAME = Gitea: Git with a cup of tea |
||||
|
RUN_MODE = prod |
||||
|
RUN_USER = git |
||||
|
|
||||
|
[repository] |
||||
|
ROOT = /data/git/repositories |
||||
|
|
||||
|
[repository.local] |
||||
|
LOCAL_COPY_PATH = /data/gitea/tmp/local-repo |
||||
|
|
||||
|
[repository.upload] |
||||
|
TEMP_PATH = /data/gitea/uploads |
||||
|
|
||||
|
[server] |
||||
|
APP_DATA_PATH = /data/gitea |
||||
|
SSH_DOMAIN = localhost |
||||
|
HTTP_PORT = 3000 |
||||
|
ROOT_URL = http://$SERVICE_NAME:3000/ |
||||
|
DISABLE_SSH = false |
||||
|
SSH_PORT = 5022 |
||||
|
LFS_CONTENT_PATH = /data/git/lfs |
||||
|
DOMAIN = localhost |
||||
|
LFS_START_SERVER = true |
||||
|
LFS_JWT_SECRET = j5N_xbVaT12B6qMM5Zc2jy0gSJPOAxGICGKio0Q8Ygo |
||||
|
OFFLINE_MODE = false |
||||
|
|
||||
|
[database] |
||||
|
PATH = /data/gitea/gitea.db |
||||
|
DB_TYPE = sqlite3 |
||||
|
HOST = postgres |
||||
|
NAME = gitea |
||||
|
USER = root |
||||
|
PASSWD = |
||||
|
SSL_MODE = disable |
||||
|
|
||||
|
[indexer] |
||||
|
ISSUE_INDEXER_PATH = /data/gitea/indexers/issues.bleve |
||||
|
|
||||
|
[session] |
||||
|
PROVIDER_CONFIG = /data/gitea/sessions |
||||
|
PROVIDER = file |
||||
|
|
||||
|
[picture] |
||||
|
AVATAR_UPLOAD_PATH = /data/gitea/avatars |
||||
|
DISABLE_GRAVATAR = false |
||||
|
ENABLE_FEDERATED_AVATAR = true |
||||
|
|
||||
|
[attachment] |
||||
|
PATH = /data/gitea/attachments |
||||
|
|
||||
|
[log] |
||||
|
ROOT_PATH = /data/gitea/log |
||||
|
MODE = file |
||||
|
LEVEL = Info |
||||
|
|
||||
|
[security] |
||||
|
INSTALL_LOCK = true |
||||
|
SECRET_KEY = ZmxgxfSNZZgMEm3MJW1Nn6BfWqSuats7MIHQvgGD2AwIH2Vdx1L77yw569bWJXPI |
||||
|
INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE1NDgyNDE1OTR9.1Uu3crRVkqamIL5U2axcRJh-HEEZzMLbrLvHlhgTv0g |
||||
|
|
||||
|
[service] |
||||
|
DISABLE_REGISTRATION = false |
||||
|
REQUIRE_SIGNIN_VIEW = false |
||||
|
REGISTER_EMAIL_CONFIRM = false |
||||
|
ENABLE_NOTIFY_MAIL = false |
||||
|
ALLOW_ONLY_EXTERNAL_REGISTRATION = false |
||||
|
ENABLE_CAPTCHA = false |
||||
|
DEFAULT_KEEP_EMAIL_PRIVATE = false |
||||
|
DEFAULT_ALLOW_CREATE_ORGANIZATION = true |
||||
|
DEFAULT_ENABLE_TIMETRACKING = true |
||||
|
NO_REPLY_ADDRESS = noreply.example.org |
||||
|
|
||||
|
[mailer] |
||||
|
ENABLED = false |
||||
|
|
||||
|
[openid] |
||||
|
ENABLE_OPENID_SIGNIN = false |
||||
|
ENABLE_OPENID_SIGNUP = false |
||||
|
EOF |
||||
|
|
@ -0,0 +1,47 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
set -e |
||||
|
|
||||
|
PASSWORD="$(relation-get password)" |
||||
|
DBUSER="$(relation-get user)" |
||||
|
DBNAME="$(relation-get dbname)" |
||||
|
|
||||
|
. lib/common |
||||
|
|
||||
|
|
||||
|
control=$(printf "%s\0" "$DBUSER" "$DBNAME" "$PASSWORD" | md5_compat) |
||||
|
|
||||
|
## Note: we don't use environment variable as it will be ignored if |
||||
|
## $CONFIG_FILE is found. So better modify directly the config file. |
||||
|
# config-add "\ |
||||
|
# services: |
||||
|
# $MASTER_BASE_SERVICE_NAME: |
||||
|
# environment: |
||||
|
# - DB_TYPE=postgres |
||||
|
# - DB_HOST=$MASTER_TARGET_SERVICE_NAME |
||||
|
# - DB_NAME=$DBNAME |
||||
|
# - DB_USER=$USER |
||||
|
# - DB_PASSWD=$PASSWORD |
||||
|
# " |
||||
|
|
||||
|
# ini set database DB_TYPE postgres |
||||
|
# ini set database HOST postgres |
||||
|
# ini set database NAME gitea.mydomain.org |
||||
|
# ini set database USER gitea.mydomain.org |
||||
|
# ini set database PASSWD g61wsLvKj8cF6A1S |
||||
|
# ini set database SSL_MODE disable |
||||
|
|
||||
|
ini merge <<EOF |
||||
|
[database] |
||||
|
DB_TYPE = postgres |
||||
|
HOST = $MASTER_TARGET_SERVICE_NAME |
||||
|
NAME = $DBNAME |
||||
|
USER = $DBUSER |
||||
|
PASSWD = $PASSWORD |
||||
|
SSL_MODE = disable |
||||
|
EOF |
||||
|
|
||||
|
|
||||
|
relation-set control "$control" |
||||
|
|
||||
|
info "Configured $SERVICE_NAME code for $TARGET_SERVICE_NAME access." |
@ -0,0 +1,8 @@ |
|||||
|
#!/bin/bash |
||||
|
## Should be executable N time in a row with same result. |
||||
|
|
||||
|
set -e |
||||
|
|
||||
|
. lib/common |
||||
|
|
||||
|
gitea_config_hash || exit 1 |
@ -0,0 +1,11 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
set -e |
||||
|
|
||||
|
. lib/common |
||||
|
|
||||
|
DOMAIN=$(relation-get domain) || exit 1 |
||||
|
|
||||
|
ini set server ROOT_URL "http://$DOMAIN/" |
||||
|
ini set server SSH_DOMAIN "$DOMAIN" |
||||
|
|
@ -0,0 +1,22 @@ |
|||||
|
# -*- mode: shell-script -*- |
||||
|
|
||||
|
|
||||
|
CONFIG_FILE=/data/gitea/conf/app.ini |
||||
|
|
||||
|
|
||||
|
ini() { |
||||
|
local action="$1" |
||||
|
shift |
||||
|
crudini "--$action" "$SERVICE_DATASTORE$CONFIG_FILE" "$@" |
||||
|
} |
||||
|
|
||||
|
|
||||
|
gitea_config_hash() { |
||||
|
config_hash=$(cat "$SERVICE_DATASTORE$CONFIG_FILE" | md5_compat) || exit 1 |
||||
|
init-config-add " |
||||
|
$MASTER_BASE_SERVICE_NAME: |
||||
|
labels: |
||||
|
- compose.config_hash=$config_hash |
||||
|
" |
||||
|
|
||||
|
} |
@ -0,0 +1,38 @@ |
|||||
|
description: "Gitea Server" |
||||
|
maintainer: "Valentin Lab <valentin.lab@kalysto.org>" |
||||
|
## XXXvlab: docker uses the 'build' directory or the 'image:' option here. |
||||
|
docker-image: docker.0k.io/gitea |
||||
|
docker-compose: |
||||
|
ports: |
||||
|
- "5022:22" |
||||
|
# environment: |
||||
|
# - USER_UID=1000 |
||||
|
# - USER_GID=1000 |
||||
|
data-resources: |
||||
|
- /data |
||||
|
|
||||
|
# default-options: |
||||
|
# config: | |
||||
|
|
||||
|
uses: |
||||
|
log-rotate: |
||||
|
constraint: recommended |
||||
|
auto: pair |
||||
|
solves: |
||||
|
disk-leak: "/data" |
||||
|
postgres-database: |
||||
|
#constraint: required | recommended | optional |
||||
|
#auto: pair | summon | none ## default: pair |
||||
|
constraint: optional |
||||
|
auto: pair |
||||
|
solves: |
||||
|
database: "main storage" |
||||
|
web-proxy: |
||||
|
#constraint: required | recommended | optional |
||||
|
#auto: pair | summon | none ## default: pair |
||||
|
constraint: recommended |
||||
|
auto: pair |
||||
|
solves: |
||||
|
proxy: "Public access" |
||||
|
default-options: |
||||
|
target: !var-expand ${MASTER_BASE_SERVICE_NAME}:3000 |
Write
Preview
Loading…
Cancel
Save
Reference in new issue