Containerized instances of nginx, Gitea and Postgres, glued together with Docker Compose.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
rypel 6533d7ddd6 [readme] pull images before running the containers 4 months ago
gitea/conf [gitea] enable SSH in config 4 months ago
nginx add main site nginx config 5 months ago
.editorconfig [dotfiles] add .editorconfig 4 months ago
.gitignore [gitignore] ignore jetbrains config 4 months ago
LICENSE add MIT license 5 months ago [readme] pull images before running the containers 4 months ago
docker-compose.yml [compose] expose internal postgres port; fix comment 4 months ago
makefile [makefile] add 'up' target 4 months ago


Containerized instances of nginx, Gitea and Postgres - all glued together with Docker Compose.
Current tags: nginx:1.17-alpine, gitea/gitea:1.8, postgres:11.4-alpine.


Install GNU Make, OpenSSL, Let’s encrypt Certbot, Docker, Docker Compose and add yourself to the docker group.

Fill in placeholders like<SECRET> or or * in the various config files.

DNS setup for your (sub-)domains must be done separately.


Generate Diffie-Hellman parameters for the TLS handshake (this may take a while):

make dhparam

Acquire a TLS certificate for your (sub-)domain(s):

make cert

Create volume with the TLS certificate chain (shut down running containers beforehand):

make clean
make cert-volume


TODO: config


Docker compose will automatically pull the images, set up the networks, attach the volumes and run the containers:

docker-compose pull
docker-compose up -d

You should now be able to see


Have a look at running processes and open ports with docker ps [-a] or docker-compose ps. Processes and threads of all running containers are shown with docker-compose top. Follow resource consumption of running containers with docker stats.

You can attach to each running containers’ log output via:

docker logs -f nginx
docker logs -f gitea
docker logs -f postgres