142 Commits (forgejo)

Author SHA1 Message Date
Jakob Ackermann 62b35964e3 [docker] let the ssh daemon speak for itself and drop the syslog daemon (#6529)
The sshd flag `-e` instructs sshd to output any logs to stderr instead
 of the syslog. Redirect this output to stdout then.

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
5 years ago
Jakob Ackermann 3f4e2d9d37 [docker] drop the bits argument when generating an ed25519 key (#6504)
From the man page of ssh-keygen:

  Ed25519 keys have a fixed length and the -b flag will be ignored.

[skip ci]

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
5 years ago
techknowlogick ec9331510c
Disable auto-migrate in docker container (#5730) 5 years ago
Julian f59bfe893a docker: stop modifying file permission before migrating database (#5707) 5 years ago
Pierre-Alexis Ciavaldini 0236856924 migrate database if app.ini found (#5290)
* migrate database if app.ini found

* replacing hard-coded user id by env variable

* Update per @zeripath's feedback
5 years ago
Moshi Binyamini 76060613ef Fix bug on modifying sshd username (#5624)
Should fix #5623
5 years ago
Lunny Xiao 6e114f6791 add git protocol v2 support via SSH on Docker image (#5520)
* add git protocol v2 support via SSH on Docker image

* remove new layer on dockerfile
6 years ago
Fabian Braun d0f614a25b only chown directories during docker setup if necessary. Fix #4425 (#5064)
Signed-off-by: Fabian Braun <fabian-braun@mailbox.org>
6 years ago
Mura Li 25c49cf930 Update build tags for sqlite_unlock_notify (#5144) 6 years ago
Andrew Phillips b30f6b4099 Remove UsePrivilegeSeparation from the Docker sshd_config, see #2876 (#4722)
Signed-off-by: Andrew Phillips <theasp@gmail.com>
6 years ago
Tao Wang 823318bfbe Add missing path in the Docker app.ini template (#2181) 6 years ago
techknowlogick e2721b6190
Remove call to update certs (#4296) 6 years ago
Fluf b299d7bceb Add Environment Variables to Docker template (#4012)
* Add disable registration as an environment variable

for docker

* Add REQUIRE_SIGNIN_VIEW as env var to docker

* Add variables to template

* Update docker docs
6 years ago
techknowlogick ecfc401eaa Allow Gitea to run as different USER in Docker (#3961)
* If using a different $USER then rename git user

* Chown based on $USER env

* Target only one part of passwd

* su-exec based on $USER

not a hardcoded value
6 years ago
Jone Marius Vignes cb87f29b76 Update certificates to enable self-signed certs (#3708)
Why:

* We are using self-signed ssl certificates for internal services, which results in failures when gitea tries to communicate through webhooks with these. We would like to enable gitea to be able to use these certificates without having to build custom docker images.

How

* We add the internal certificates to /usr/local/share/ca-certificates on the host
* We read-only mount /usr/local/share/ca-certificates from the host to /usr/local/share/ca-certificates in the container 
* We do a update-ca-certificates in the alpine container before starting gitea

This should have no consequence for users that do not have the need to handle self-signed certificates, as update-ca-certificates should be idempotent.
6 years ago
Antoine GIRARD 0e26db8bcd Docker multi-stage (#2927)
* Setup docker multi-stage and little sugar at it

* Make codacy happy ?

* Revert back to what the official docker documentation suggest

Codacy don't seems to follow https://docs.docker.com/engine/reference/builder/#maintainer-deprecated

* Update golang version
6 years ago
Piotr Orzechowski 7bab3d2fb1 Enable content trust when building image (#2972) 7 years ago
Antoine GIRARD dac0f14f34 Docker multi-arch base (#1985)
* Create docker/manifest/base.yml

serve as base for build docker image for most platform (386,amd64,arm,arm64)

* Add make task docker-multi-arch-push-manifest

To update references of a multi-arch image on docker registry.

* Use SED_INPLACE generic sed command

* Delete Dockerfile.aarch64

Delete Dockerfile.rpi

* Use gitea/gitea-base as base

and replace deprecated MAINTAINER by LABEL (https://docs.docker.com/engine/reference/builder/#maintainer-deprecated)

* Fix rebase

* Use sapk/gitea-base as base

* Split makefile for docker

* Fix version to v3.6

Could use in later version edge of alpine official library that support multi-arch for armhf.

* Remove sapk/gitea-base and use directly new official alpine multi-arch
7 years ago
Henrik Bengtsson 9bdce5d21b Launch Gitea with custom UID/GID for 'git' user (fixes #2286) (#2791) 7 years ago
Morlinest 529f9d03ce Fix ordering in app.ini and fix run mode option (#2829) 7 years ago
Tao Wang d545e32b56 Add environment variable support for Docker image (#2201)
* Add `gettext` dependencies as we need `envsubst` command;
* Modified s6's gitea setup script, instead of `cp` the template if no
`app.ini` exist, it will substitude the envvars and generate the new
`app.ini`;
* Make `/docker/etc/templates/app.ini` a template contains environment
variables;

Signed-off-by: Tao Wang <twang2218@gmail.com>
7 years ago
Tao Wang 41cc110e62 Use sqlite3 database as default for Docker image (#2182)
Signed-off-by: Tao Wang <twang2218@gmail.com>
7 years ago
Thomas Boerger c6b6a61bf1 Fixing multiple docker issues (#386)
* Added stupid docker task to makefile

* Dropped unknown option PrintLastLog from docker ssh config

* OpenSSH should log to docker stdout

* Set random pw for docker git user, otherwise it is locked

* Stop using templates and public within docker
8 years ago
Thomas Boerger 65d0426b91
Use su-exec instead of gosu, much smaller 8 years ago
Thomas Boerger 86aa8e413a
Restructured docker building
I have restructured the docker build process entirely, the binary gets
built outside of the docker build command, now we are managing all
dependencies with real Alpine packages and I have dropped features like
socat or the cron daemon.

Signed-off-by: Thomas Boerger <tboerger@suse.de>
8 years ago
Sandro Santilli b7263f31a5 Replace GOGS with GITEA in variable names
Still use GOGS_WORK_DIR and GOGS_CUSTOM env variables
as a fallback if the equivalent GITEA_* are not set,
warning user about the need for change.

Does not change "gogs" to "gitea" in webhook type name
Because "gogs" hook type is part of the API (routes) and used
in templates...

Closes #87
8 years ago
Rémy Boulanouar 2d68bd1ef9 Change import reference to match gitea instead of gogs (#37) 8 years ago
rugk 28dc5bb566 Replace gogs.io http links with https version (#3386) 8 years ago
Unknwon 160956dd31 Update Docker README 8 years ago
Jean-Philippe Roemer bcd4adb3a0 Update docker/build.sh script to use glide & make (#3079)
* docker: update build script to use glide + make

- docker/build.sh will now use glide to fetch dependencies
- glide is built from source to keep compatibility with arm
  (no pre-prebuilt binary for arm)
- docker/build.sh will also now use the provided Makefile
  It will generate an error when trying to get git build has as we do
  not ship the 88mo .git directory during the build (should not cause
  any problem as the variable it sets was not set previously)

* docker: fix docker arm build

- drop gosu version back to 1.7 as gosu binary for armhf is broken
- see tianon/gosu#19

* docker: update gosu to 1.9

Signed-off-by: Jean-Philippe Roemer <jp@roemer.im>
8 years ago
Jean-Philippe Roemer 69e00f9948 docker: update documentation for container options (#2965)
- Created a Container options section in `docker/README.md`
- Add documentation for SOCAT_LINK
- Move CROND documentation to the new section
8 years ago
Unknwon ac53bb593d #2878 print error of JSON unmarshal and always returns a valid object 8 years ago
Mike 9d44cd79ee update README.md
minor grammar fix
8 years ago
Unknwon d320915ad2 Minor fix for #2710 8 years ago
Jean-Philippe Roemer db14949209 Update Docker REAMDE.md
- Remove the known issue about `.dockerignore` being ignored during DockerHub automated build as this has been fixed
- Added a note on the fact that we currently do no support building the container on RPi1
8 years ago
Jean-Philippe Roemer 7845075bd2 Dockerfile & Dockerfile.pi updates
- Upgrade of gosu to v1.7
- Change in docker/build.sh to use `--no-cache` to prevent APKINDEX creation when installing dev dependencies
- Manual upgrade of Alpine on Raspberry Pi when building to make sure the environment is the same as the standard Dockerfile
8 years ago
Unknwon 779bb890fa Minor docs update for #2605 8 years ago
Jean-Philippe Roemer f4bc9263d9 Add the ability to run crond inside the Docker container
- Add the crond init script for s6
- Add the RUN_CROND configuration variable to setup crond
- Crond will not be run by default (hence the `down` file in the service directory)
- `start.sh` check if RUN_CROND = "true" || "1" and remove this file to tell s6 to run the initscript
- Resolves #2597
8 years ago
Unknwon 894946c319 Merge pull request #2573 from prologic/add-note-wrt-ssh-on-docker#2409
Add an important note about mapping the ssh port on the container to the host
8 years ago
Jean-Philippe Roemer 12c8953381 Update Dockerfile to update alpine to v3.3 & fix virtual package and repository pinning on RPi
- Dockerfile now uses alpine:3.3 as base
- Dockerfile.rpi now uses v3.3/community repository without pinning
- Go package is no longer fetched using repository pinning
- Fixes problem while using repository pinning & virtual package at the same time
8 years ago
Unknwon a849ac0164 Merge pull request #2446 from jgsqware/develop
Add Docker Volume from 1.9
8 years ago
Jean-Philippe Roemer 9032bd097b Update Dockerfile & build script and add /etc/nsswitch.conf:
- Add nsswitch.conf to configure LibC Name Service inside the container
- Change my email in the Dockerfile
- Update build script to install software as a `build-deps` virtual package so that adding a package to it will be automatically	removed at the end of the build script
8 years ago
juliengarcia eb14fbf95f Add Docker Volume from 1.9 8 years ago
James Mills f36c82c3b3 Add an important note about mapping the ssh port on the container to the host 8 years ago
Ivan Marban 4ea75dfcbe Remove RSA1 keys as only SSH version 2 is used 8 years ago
Unknwon 9cd16c5b12 #1692 add organization APIs 9 years ago
Unknwon 351dfc95a9 prepare release 9 years ago
Unknwon 5d95ffe3eb #2155 The owner has reached maximum creation limit of 0 repositories 9 years ago
Unknwon b1a53f6d8e add quay.io as another Docker option 9 years ago
Unknwon e538ff2770 fix #1829 and fix #890 9 years ago
Jean-Philippe Roemer 3deddabfd8 Add `set -x` & `set -e` to docker/build.sh for better debugging 9 years ago
Jean-Philippe Roemer 0cbf56855a Update s6 path following package update 9 years ago
Jean-Philippe Roemer 14a8a46bec Add logging when socat link creation is deactivated 9 years ago
Jean-Philippe Roemer 7679aa1a21 Fix typo & cleanup start.sh code 9 years ago
Jean-Philippe Roemer 9a8aeef478 Add syslog & fix `/data/git` rights & SOCAT_LINK env var
- Resolve #1893
- Add syslogd to output sshd log on stdout (via `docker logs`)
- Enforce directory rights on `/data/git`, `/data/gogs` & `/data/ssh`
- Add `SOCAT_LINK` environment variable to prevent the creation of scout links when they are not needed (see #1815)
9 years ago
Jean-Philippe Roemer f7c7837fc8 Docker socat link: default port fix
- Remove port 80 & 443 unused by the container
- Add port 3000 used by gogs application
9 years ago
Jean-Philippe Roemer 02289479ef Docker `socat` link creation
- `start.sh` will now verify that the port is not already used by another service
- Resolve #1807
- Log when a service is created, or could not be created
- Keep track of which port is already used, including goes & sshd port
9 years ago
Limian Wang b854d3ba40 fix typo in README for Docker 9 years ago
Jean-Philippe Roemer 9acf02ad7f Fix bug introduced in #1759 preventing ssh server to launch
- ssh/setup: test directive now check if a file exist in key path instead of a folder
- ssh/setup script was hanging waiting for an input about rewriting the key
  as the test case was returning true, when it should have been false
  (check if file is a folder instead of a file)
9 years ago
Jean-Philippe Roemer 533c6a8e08 Edit comment to make it clear that we are talking about container version 9 years ago
Jean-Philippe Roemer bfed40eec4 Docker repository path backward compatibility fix:
- resolve #1765
- create link to old git repository path: `/home/git/gogs-repository`
9 years ago
Jean-Philippe Roemer 9cba6ff84b Volumed data setup changed to allow #1759
- Volumed subfolder now created up in the ENTRYPOINT script, this way
  they are created before S6 even starts making VOLUME.
- The subfolder will be created during VOLUME creation too as ENTRYPOINT
  script will be run before /bin/true
- SSH Keys will now be created on a single key basis not replying on the
  existence of /data/ssh folder
9 years ago
Jean-Philippe Roemer fc427432ed Docker Container Restart Fix
- Fix s6 fifodir error on container restart
- Add .tags* to .gitignore (Atom auto ctags generation)
9 years ago
Jean-Philippe Roemer 5981f1edcd Remove fixed issue 9 years ago
Jean-Philippe Roemer ad5e0b833c Docker Container: Init 1 & Initialisation
- Now using a setup script before starting the app. The separation of
the run script and the setup script will make service initialisation a
little bit clearer
- Now calling start.sh script as ENTRYPOINT and S6 as CMD. This way
when running the container with just a shell script, the start.sh
script will be launched before, making debugging easier
- Added note about `.dockerignore` ignored during Docker Hub Automated
Build
9 years ago
无闻 e5310cdbc1 Merge pull request #1731 from ogarcia/develop
Several bugfixes in Docker build
9 years ago
Unknwon e34d0063c3 Update Docker README for #1708 9 years ago
Óscar García Amor 3e7d8db7a2 Several bugfixes in Docker build
- Removed unnecessary variables
- Fixed symbolic links creation
- Fixed enter point
- Less intermediate containers
9 years ago
Jean-Philippe Roemer 3cad8d9492 Use app/docker folder for SSH Configureation 9 years ago
Jean-Philippe Roemer e63e0b3105 New approach to Gogs Docker Container
- VOLUME for ‘/data’
- Usage of S6 as PID 1 Process
- Usage of ‘socat’ so linked container (like databases) are binded to
localhost
- OpenSSH, Socat Link and Gogs are supervised using S6
- Size of container reduced to ~75Mo
9 years ago
Unknwon 42a38dfca3 #1665 improve docs 9 years ago
Unknwon 91220a2501 #1665 improve Docker docs 9 years ago
Unknwon 86d3c5cbb3 update Docker info 9 years ago
Unknwon 232c22208c remove rsync 9 years ago
Unknwon a35911486f fix error in docker doc 9 years ago
Unknwon 90528b2610 fix docker docs style 9 years ago
Unknwon bd1d7d1509 Able to set SSH port when install, update Docker docs 9 years ago
Unknwon 81b8427438 new UI on admin/monitor 9 years ago
Unknwon c20ae8edc5 update Docker README 9 years ago
codeskyblue 4095ef2820 add pam for docker 9 years ago
Unknwon 398bb772d8 update docker README 9 years ago
codeskyblue 9371fbe71a add docker ssh support 9 years ago
codeskyblue 0510f712e7 pass test in my foreign machine test 9 years ago
codeskyblue 54b8172a24 some modify, I need to move my workenv to foreign county, network in china is so slow. 9 years ago
Tiago Pires a5f9077e5a Update docker image.
Shrink docker image.
Update from fig (deprecated) to docker-compose.
Update README.md.

Signed-off-by: Tiago Pires <tandrepires@gmail.com>
9 years ago
Alban Garrigue 7d109573cb openssh-client provide ssh-keygen. GOGS needs that binary to add a ssh key to a user 9 years ago
Alban Garrigue 81fcc0db0c $DIRECTORY variable is never set 9 years ago
euank f059866a21 Set user.name & user.email in Dockerfile
The previous setting would cause all repo creations to fail, as
described in issue #328.
The previous commit also resolves this issue, but it seems saner to
create the user in the Dockerfile than at runtime.
10 years ago
morpheyesh 995a805a31 spellcheck 10 years ago
Tristan Storch 863a4d5bc4 Use variables, when the're there
Why not use the environment variables, when they are there...
10 years ago
Tristan Storch 7df0794e14 docker dev block update
The dev Dockerfile now works without superfluous go get calls.
At this point the -u option is really not what we want.
10 years ago
Tristan Storch d1a2228f1c Docker mix and match setup
Rewrite of the docker setup. Now uses fig to manage containers and container
linkage. The base is a block based mix and match, which will give you the
possibility to easily test all configurations.
10 years ago