mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Update docker image.
Shrink docker image. Update from fig (deprecated) to docker-compose. Update README.md. Signed-off-by: Tiago Pires <tandrepires@gmail.com>
This commit is contained in:
		| @@ -3,13 +3,13 @@ Docker | ||||
|  | ||||
| TOOLS ARE WRITTEN FOR TESTING AND TO SEE WHAT IT IS! | ||||
|  | ||||
| For this to work you will need the nifty docker tool [fig]. | ||||
| For this to work you will need the nifty docker tool [docker-compose]. | ||||
|  | ||||
| The most simple setup will look like this: | ||||
|  | ||||
| ```sh | ||||
| ./assemble_blocks.sh docker_gogs w_db option_db_mysql | ||||
| fig up | ||||
| docker-compose up | ||||
|  | ||||
| ``` | ||||
|  | ||||
| @@ -22,21 +22,21 @@ How does it work | ||||
| ---------------- | ||||
|  | ||||
| `./assemble_blocks.sh` will look in `blocks` for subdirectories. | ||||
| In the subdirectories there are three relevant files: `Dockerfile`, `config` and `fig`. | ||||
| In the subdirectories there are three relevant files: `Dockerfile`, `config` and `docker-compose`. | ||||
|  | ||||
| `Dockerfile` will be copied to `docker/` (also means last `Dockerfile` wins). | ||||
|  | ||||
| The `config` file contains lines which will in the gogs docker container end up in `$GOGS_PATH/custom/config/app.ini` and by this gogs will be configured. | ||||
| Here you can define things like the MySQL server for your database block. | ||||
|  | ||||
| The `fig` file will just be added to `fig.yml`, which is used by fig to manage your containers. | ||||
| The `docker-compose` file will just be added to `docker-compose.yml`, which is used by docker-compose to manage your containers. | ||||
| This includes container linking! | ||||
|  | ||||
| Just have a look at them and it will be clear how to write your own blocks. | ||||
|  | ||||
| Just some things | ||||
|  | ||||
|     - all files (`Dockerfile`, `fig` and `config`) are optional | ||||
|     - all files (`Dockerfile`, `docker-compose` and `config`) are optional | ||||
|     - the gogs block should always be the first block | ||||
|  | ||||
| Currently the blocks are designed that, the blocks that start with `docker` pull in the base docker image. | ||||
| @@ -57,14 +57,11 @@ Here is a more elaborated example | ||||
|  | ||||
| ```sh | ||||
| ./assemble_blocks.sh docker_gogs w_db_cache_session option_db_postgresql option_cache_redis option_session_mysql | ||||
| fig up | ||||
| docker-compose up | ||||
| ``` | ||||
|  | ||||
| This will set up four containters and link them proberly. One for each of | ||||
|  | ||||
|     - gogs | ||||
|     - database (postgresql) | ||||
|     - cache (redis) | ||||
| docker-compose | ||||
|     - session (mysql) | ||||
|  | ||||
| WARNING: This will not work at the Moment! MySQL session is broken! | ||||
| @@ -73,7 +70,7 @@ WARNING: This will not work at the Moment! MySQL session is broken! | ||||
| Remark | ||||
| ------ | ||||
|  | ||||
| After you execute `assemble_blocks.sh` you should always trigger `fig build` to inculde the the new init script `init_gogs.sh` in the docker image. | ||||
| After you execute `assemble_blocks.sh` you should always trigger `docker-compose build` to inculde the the new init script `init_gogs.sh` in the docker image. | ||||
|  | ||||
| If you want to use another GoGS docker file, but keep everything else the same, you can create a block, e.g. `docker_gogs_custom`, with only a `Dockerfile` and call | ||||
|  | ||||
| @@ -86,4 +83,4 @@ This will pull in the `Dockerfile` from `docker_gogs` instead of the one from `d | ||||
| `Dockerfile`s for the `master` and `dev` branch are provided as `docker_gogs` and `docker_gogs_dev` | ||||
|  | ||||
|  | ||||
| [fig]:http://www.fig.sh/ | ||||
| [docker-compose]:https://docs.docker.com/compose/ | ||||
|   | ||||
| @@ -10,8 +10,8 @@ gogs_config_file=conf.tmp | ||||
| gogs_config=config | ||||
| gogs_init_file=$docker_dir/init_gogs.sh | ||||
|  | ||||
| fig_file=fig.yml | ||||
| fig_config=fig | ||||
| compose_file=docker-compose.yml | ||||
| compose_config=docker-compose | ||||
|  | ||||
| gogs_init_template=$template_dir/init_gogs.sh.tpl | ||||
|  | ||||
| @@ -28,7 +28,7 @@ if [ "$#" == 0 ]; then | ||||
|     exit 0 | ||||
| fi | ||||
|  | ||||
| for file in $gogs_config_file $fig_file; do | ||||
| for file in $gogs_config_file $compose_file; do | ||||
|     if [ -e $file ]; then | ||||
|         echo "Deleting $file" | ||||
|         rm $file | ||||
| @@ -53,10 +53,10 @@ for dir in $@; do | ||||
|         echo "" >> $gogs_config_file | ||||
|     fi | ||||
|  | ||||
|     if [ -e $current_dir/$fig_config ]; then | ||||
|         echo "Adding $current_dir/$fig_config to $fig_file" | ||||
|         cat $current_dir/fig >> $fig_file | ||||
|         echo "" >> $fig_file | ||||
|     if [ -e $current_dir/$compose_config ]; then | ||||
|         echo "Adding $current_dir/$compose_config to $compose_file" | ||||
|         cat $current_dir/$compose_config >> $compose_file | ||||
|         echo "" >> $compose_file | ||||
|     fi | ||||
| done | ||||
|  | ||||
|   | ||||
| @@ -1,23 +1,20 @@ | ||||
| FROM ubuntu:14.04 | ||||
| FROM buildpack-deps:trusty-scm | ||||
|  | ||||
| # This part is taken from the official docker image -------------------- | ||||
|  | ||||
| RUN apt-get update && apt-get install -y \ | ||||
| 		build-essential ca-certificates curl \ | ||||
| 		bzr git mercurial openssh-client\ | ||||
| 		--no-install-recommends | ||||
| 		build-essential --no-install-recommends | ||||
|  | ||||
| ENV GOLANG_VERSION 1.3 | ||||
|  | ||||
| RUN curl -sSL http://golang.org/dl/go$GOLANG_VERSION.src.tar.gz \ | ||||
| 	| tar -v -C /usr/src -xz | ||||
| WORKDIR /usr/src/go | ||||
| RUN curl -sSL https://golang.org/dl/go$GOLANG_VERSION.src.tar.gz \ | ||||
| 		| tar -v -C /usr/src -xz | ||||
|  | ||||
| RUN cd src && ./make.bash --no-clean 2>&1 | ||||
| RUN cd /usr/src/go/src && ./make.bash --no-clean 2>&1 | ||||
|  | ||||
| ENV PATH /usr/src/go/bin:$PATH | ||||
|  | ||||
| RUN mkdir -p /go/src | ||||
| RUN mkdir -p /go/src /go/bin && chmod -R 777 /go | ||||
| ENV GOPATH /go | ||||
| ENV PATH /go/bin:$PATH | ||||
| WORKDIR /go | ||||
|   | ||||
| @@ -1,24 +1,20 @@ | ||||
| FROM ubuntu:14.04 | ||||
| FROM buildpack-deps:trusty-scm | ||||
|  | ||||
| # This part is derived from the official docker image ------------------ | ||||
| # This part is taken from the official docker image -------------------- | ||||
|  | ||||
| RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ | ||||
| 		apt-get install -qy \ | ||||
| 		build-essential ca-certificates curl \ | ||||
| 		bzr git mercurial openssh-client\ | ||||
| 		--no-install-recommends | ||||
| RUN apt-get update && apt-get install -y \ | ||||
| 		build-essential --no-install-recommends | ||||
|  | ||||
| ENV GOLANG_VERSION 1.3 | ||||
|  | ||||
| RUN curl -sSL http://golang.org/dl/go$GOLANG_VERSION.src.tar.gz \ | ||||
| 	| tar -v -C /usr/src -xz | ||||
| WORKDIR /usr/src/go | ||||
| RUN curl -sSL https://golang.org/dl/go$GOLANG_VERSION.src.tar.gz \ | ||||
| 		| tar -v -C /usr/src -xz | ||||
|  | ||||
| RUN cd src && ./make.bash --no-clean 2>&1 | ||||
| RUN cd /usr/src/go/src && ./make.bash --no-clean 2>&1 | ||||
|  | ||||
| ENV PATH /usr/src/go/bin:$PATH | ||||
|  | ||||
| RUN mkdir -p /go/src | ||||
| RUN mkdir -p /go/src /go/bin && chmod -R 777 /go | ||||
| ENV GOPATH /go | ||||
| ENV PATH /go/bin:$PATH | ||||
| WORKDIR /go | ||||
|   | ||||
		Reference in New Issue
	
	Block a user