This repository has been archived on 2023-02-05. You can view files and clone it, but cannot push or open issues or pull requests.
loki/docker-compose.yml

157 lines
4.7 KiB
YAML

version: '2'
volumes:
vol_wiki:
vol_nextcloud:
vol_nextcloud_db:
vol_gitlab_config:
vol_gitlab_logs:
vol_gitlab_data:
vol_letsencrypt:
vol_letsencrypt_html:
vol_etc_gitlab_runner:
vol_home_gitlab_runner:
services:
# ---------------------------------------------------------------------------
# Static website served at wojciechkozlowski.eu
# ---------------------------------------------------------------------------
html:
container_name: docker_html
build: html
image: gitlab.wojciechkozlowski.eu:8443/wojtek/loki/html
restart: always
# ---------------------------------------------------------------------------
# DokuWiki installation available at wiki.wojciechkozlowski.eu
# ---------------------------------------------------------------------------
wiki:
container_name: docker_wiki
build: dokuwiki
image: gitlab.wojciechkozlowski.eu:8443/wojtek/loki/wiki
volumes:
- vol_wiki:/var/dokuwiki-storage
restart: always
# ---------------------------------------------------------------------------
# NextCloud installation available at cloud.wojciechkozlowski.eu
# ---------------------------------------------------------------------------
nextcloud-db:
container_name: nextcloud_db
image: mariadb
volumes:
- vol_nextcloud_db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=nextcloud
- MYSQL_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
restart: always
nextcloud-app:
container_name: nextcloud_app
image: nextcloud:fpm
links:
- nextcloud-db
volumes:
- vol_nextcloud:/var/www/html
restart: always
nextcloud-cron:
container_name: nextcloud_cron
build: nextcloud/cron
image: gitlab.wojciechkozlowski.eu:8443/wojtek/loki/nextcloud-cron
volumes_from:
- nextcloud-app
restart: always
nextcloud:
container_name: docker_cloud
image: nginx
links:
- nextcloud-app
volumes:
- ./nextcloud/nginx.conf:/etc/nginx/nginx.conf:ro
volumes_from:
- nextcloud-app
restart: always
# ---------------------------------------------------------------------------
# GitLab installation available at gitlab.wojciechkozlowski.eu
# ---------------------------------------------------------------------------
gitlab:
container_name: docker_gitlab
build: gitlab
image: gitlab.wojciechkozlowski.eu:8443/wojtek/loki/gitlab
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.wojciechkozlowski.eu'
registry_external_url 'https://gitlab.wojciechkozlowski.eu:8443'
registry_nginx['ssl_certificate'] = "/etc/letsencrypt/live/wojciechkozlowski.eu/fullchain.pem"
registry_nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/wojciechkozlowski.eu/privkey.pem"
# Add any other gitlab.rb configuration here, each on its own line
ports:
- '2770:22'
- '8443:8443'
volumes:
- vol_gitlab_config:/etc/gitlab
- vol_gitlab_logs:/var/log/gitlab
- vol_gitlab_data:/var/opt/gitlab
- vol_letsencrypt:/etc/letsencrypt
restart: always
# ---------------------------------------------------------------------------
# Reverse proxy served by Nginx
# ---------------------------------------------------------------------------
proxy:
container_name: proxy
build: proxy
image: gitlab.wojciechkozlowski.eu:8443/wojtek/loki/proxy
ports:
- 80:80
- 443:443
links:
- html
- wiki
- nextcloud
- gitlab
volumes:
- ./proxy/nginx.conf:/etc/nginx/nginx.conf:ro
- ./proxy/nginx-conf.d:/etc/nginx/conf.d:ro
- vol_letsencrypt:/etc/letsencrypt
- vol_letsencrypt_html:/var/www/html
restart: always
# ---------------------------------------------------------------------------
# Certbot container running a cron job to renew certificates.
# ---------------------------------------------------------------------------
certbot:
container_name: certbot
build: certbot
image: gitlab.wojciechkozlowski.eu:8443/wojtek/loki/certbot
volumes:
- vol_letsencrypt:/etc/letsencrypt
- vol_letsencrypt_html:/var/www/html
restart: always
# ---------------------------------------------------------------------------
# Gitlab runner for CI.
# ---------------------------------------------------------------------------
runner:
container_name: gitlab_runner
build: runner
image: gitlab.wojciechkozlowski.eu:8443/wojtek/loki/runner
volumes:
- vol_etc_gitlab_runner:/etc/gitlab-runner
- vol_home_gitlab_runner:/home/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock
restart: always