docker container and docker-compose file for gitbucket
data/ conf | 6 years ago | ||
docker | 5 years ago | ||
.editorconfig | 6 years ago | ||
.env | 7 years ago | ||
.gitignore | 6 years ago | ||
LICENSE.md | 7 years ago | ||
README.md | 5 years ago | ||
backup.sh | 5 years ago | ||
build.properties | 5 years ago | ||
docker-compose.yml | 5 years ago | ||
gitbucket.conf.example | 5 years ago | ||
install.sh | 6 years ago |
This docker container of gitbucket is in beta state!
Get code from repository:
git clone https://gitbucket.pgollor.de/git/docker/gitbucket.git cd gitbucket
Execute install script
./install.sh
Change the confoguration and start with:
docker-compose up -d
Open 127.0.0.1:8080
and be habby. :-) Default user and passwort are both root.
Please use the configuration file gitbucket.conf
for your personal changes.
Update your gitbucket image in three steps. But first of all: MAKE A BACKUP!!! Without backup the host ssh keys will be lost.
You have to backup your gitbucket.conf
because this config does not exist in the repository any more. You have to manage the config file manually. The new install script will create a local config fiel as copy from gitbucket.conf.example
and generate new passwords.
To prevent error messages (like: [Warning] InnoDB: Table mysql/innodb_table_stats has length mismatch in the column name table_name. Please run mysql_upgrade
) for mariadb. Go to the directory where the docker-compose.yml
file is located and execute the following commands:
source gitbucket.conf docker-compose exec mysql-gitbucket sh -c 'exec mysql_upgrade -uroot -p"${MYSQL_ROOT_PASSWORD}"'
Commit your local changes. Changes in gitbucket.conf
will be ignored! Pull changes from repository master via git pull
or git merge
.
Backup
./backup.sh backup all
get the new image Shutdown and remove your images. This will not delete your mysql database volume.
docker-compose down
After that get the new image and start it:
docker-compose pull docker-compose up -d --remove-orphans
cleanup your docker environment This step is optional. Please do this only if you understand the next line.
docker rmi -f $(docker images -f "dangling=true" -q)
restore ssh keys
./backup.sh restore sshkeys
To use plugins download the plugin and move it into data/plugins
. After that restart the gitbucket container with docker-compose restart main-gitbucket
.
Since 4.30.0 the backupplugin is included. Automatic backup for repository works, but the E-Mail notification does not work yet. If you want a full backup, please use backup.sh
like:
./backup.sh backup all
COMPOSE_PROJECT_NAME
exists in your local gitbucket.conf
!!!apt-get install pbzip2
backup.sh
For backuping the mysql database and the repositories you could use the backup.sh
script and combine it with a daily cronjob. This script will create a compressed backup and keep the files 10 days in the backup directory. All files which are older then 10 days will be deleted.
Please check the gitbucket log files with
docker-compose logs main-gitbucket
If you get Could not connect to address=(host=172.22.2.251)
as error: Please restart the gitbucket container with docker-compose restart main-gitbucket
because the mariadb container needs some time to run completly at the first start. After that it should be work. If doesn't please contact me via issue@pgollor.de
because gitbucket does not allow issues for guests.
You can write me an email ( kalle@pgollor.de
) or you could register here as an user to contribute to this project. After register please fork this repository and create pull reqeusts with your changes or add an issue.
I got some inspirations for this project from:
: Please see license