version: '2' volumes: wiki: nextcloud: nextcloud_db: gitlab_config: gitlab_logs: gitlab_data: letsencrypt: runner_main_etc: runner_main_home: runner_docker_etc: runner_docker_home: docker_dind_lib: 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: registry.wojciechkozlowski.eu/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 build: nextcloud image: registry.wojciechkozlowski.eu/wojtek/loki/nextcloud links: - nextcloud-db volumes: - nextcloud:/var/www/html 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 'https://gitlab.wojciechkozlowski.eu' nginx['listen_port'] = 80 nginx['listen_https'] = false registry_external_url 'https://registry.wojciechkozlowski.eu' registry_nginx['listen_port'] = 80 registry_nginx['listen_https'] = false # Add any other gitlab.rb configuration here, each on its own line ports: - '2770:22' volumes: - gitlab_config:/etc/gitlab - gitlab_logs:/var/log/gitlab - gitlab_data:/var/opt/gitlab - ./gitlab/ssh_config:/etc/ssh/ssh_config restart: always # --------------------------------------------------------------------------- # Reverse proxy served by Nginx. # --------------------------------------------------------------------------- proxy: container_name: proxy build: proxy image: registry.wojciechkozlowski.eu/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 restart: always # --------------------------------------------------------------------------- # Gitlab runners for CI. # --------------------------------------------------------------------------- runner-main: container_name: runner-main build: runner/main image: registry.wojciechkozlowski.eu/wojtek/loki/runner-main volumes: - runner_main_etc:/etc/gitlab-runner - runner_main_home:/home/gitlab-runner - /var/run/docker.sock:/var/run/docker.sock restart: always docker-dind: container_name: docker-dind image: docker:dind volumes: - ./runner/docker/hosts:/etc/hosts - docker_dind_lib:/var/lib/docker privileged: true restart: always runner-docker: container_name: runner-docker build: runner/docker image: registry.wojciechkozlowski.eu/wojtek/loki/runner-docker links: - docker-dind:docker volumes: - runner_docker_etc:/etc/gitlab-runner - runner_docker_home:/home/gitlab-runner restart: always