158 lines
4.6 KiB
YAML
158 lines
4.6 KiB
YAML
version: '2'
|
|
|
|
volumes:
|
|
wiki:
|
|
nextcloud:
|
|
nextcloud_db:
|
|
gitlab_config:
|
|
gitlab_logs:
|
|
gitlab_data:
|
|
letsencrypt:
|
|
letsencrypt_html:
|
|
runner_main_etc:
|
|
runner_main_home:
|
|
|
|
services:
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Static website served at wojciechkozlowski.eu
|
|
# ---------------------------------------------------------------------------
|
|
|
|
html:
|
|
container_name: html
|
|
image: nginx
|
|
volumes:
|
|
- ./html/html-wojciechkozlowski.eu/:/usr/share/nginx/html/
|
|
restart: always
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# DokuWiki installation available at wiki.wojciechkozlowski.eu
|
|
# ---------------------------------------------------------------------------
|
|
|
|
wiki:
|
|
container_name: wiki
|
|
build: dokuwiki
|
|
image: gitlab.wojciechkozlowski.eu:8443/wojtek/loki/wiki
|
|
volumes:
|
|
- wiki:/var/dokuwiki-storage
|
|
restart: always
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# NextCloud installation available at cloud.wojciechkozlowski.eu
|
|
# ---------------------------------------------------------------------------
|
|
|
|
nextcloud-db:
|
|
container_name: nextcloud-db
|
|
image: mariadb
|
|
volumes:
|
|
- 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:
|
|
- 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: nextcloud
|
|
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: gitlab
|
|
image: gitlab/gitlab-ce
|
|
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:
|
|
- gitlab_config:/etc/gitlab
|
|
- gitlab_logs:/var/log/gitlab
|
|
- gitlab_data:/var/opt/gitlab
|
|
- letsencrypt:/etc/letsencrypt
|
|
- ./gitlab/ssh_config:/etc/ssh/ssh_config
|
|
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
|
|
- letsencrypt:/etc/letsencrypt
|
|
- 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:
|
|
- letsencrypt:/etc/letsencrypt
|
|
- letsencrypt_html:/var/www/html
|
|
restart: always
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Gitlab runner for CI.
|
|
# ---------------------------------------------------------------------------
|
|
|
|
runner:
|
|
container_name: runner-main
|
|
build: runner
|
|
image: gitlab.wojciechkozlowski.eu:8443/wojtek/loki/runner
|
|
volumes:
|
|
- runner_main_etc:/etc/gitlab-runner
|
|
- runner_main_home:/home/gitlab-runner
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
restart: always
|