diff --git a/docker-compose.yml b/docker-compose.yml index 550f2b8..fc0e0bd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,14 +4,26 @@ volumes: vol_wiki: vol_nextcloud: vol_nextcloud_db: + vol_gitlab_config: + vol_gitlab_logs: + vol_gitlab_data: services: + + # --------------------------------------------------------------------------- + # Static website served at wojciechkozlowski.eu + # --------------------------------------------------------------------------- + html: container_name: docker_html build: html image: html restart: always + # --------------------------------------------------------------------------- + # DokuWiki installation available at wiki.wojciechkozlowski.eu + # --------------------------------------------------------------------------- + wiki: container_name: docker_wiki build: dokuwiki @@ -20,6 +32,10 @@ services: - vol_wiki:/var/dokuwiki-storage restart: always + # --------------------------------------------------------------------------- + # NextCloud installation available at cloud.wojciechkozlowski.eu + # --------------------------------------------------------------------------- + nextcloud-db: container_name: nextcloud_db image: mariadb @@ -32,8 +48,8 @@ services: - MYSQL_USER=nextcloud restart: always - nextcloud: - container_name: nextcloud + nextcloud-app: + container_name: nextcloud_app image: nextcloud:fpm links: - nextcloud-db @@ -41,25 +57,48 @@ services: - vol_nextcloud:/var/www/html restart: always - nextcloud-web: + nextcloud: container_name: docker_cloud image: nginx links: - - nextcloud + - nextcloud-app volumes: - ./nextcloud/nginx.conf:/etc/nginx/nginx.conf:ro volumes_from: - - nextcloud + - nextcloud-app restart: always + # --------------------------------------------------------------------------- + # GitLab installation available at gitlab.wojciechkozlowski.eu + # --------------------------------------------------------------------------- + + gitlab: + container_name: docker_gitlab + image: gitlab/gitlab-ce + environment: + GITLAB_OMNIBUS_CONFIG: | + external_url 'http://gitlab.wojciechkozlowski.eu' + # Add any other gitlab.rb configuration here, each on its own line + volumes: + - vol_gitlab_config:/etc/gitlab + - vol_gitlab_logs:/var/log/gitlab + - vol_gitlab_data:/var/opt/gitlab + restart: always + + # --------------------------------------------------------------------------- + # Reverse proxy served by Nginx + # --------------------------------------------------------------------------- + proxy: container_name: proxy - build: nginx-proxy - image: proxy + image: nginx ports: - 80:80 links: - html - wiki - - nextcloud-web + - nextcloud + - gitlab + volumes: + - ./proxy/nginx-conf.d:/etc/nginx/conf.d restart: always diff --git a/nextcloud/nginx.conf b/nextcloud/nginx.conf index 04e790f..d435d78 100644 --- a/nextcloud/nginx.conf +++ b/nextcloud/nginx.conf @@ -6,7 +6,7 @@ events { http { upstream backend { - server nextcloud:9000; + server nextcloud_app:9000; } include /etc/nginx/mime.types; default_type application/octet-stream; diff --git a/nginx-proxy/Dockerfile b/nginx-proxy/Dockerfile deleted file mode 100644 index 6a1c506..0000000 --- a/nginx-proxy/Dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM nginx - -RUN rm -rf /etc/nginx/conf.d -ADD nginx-conf.d /etc/nginx/conf.d \ No newline at end of file diff --git a/nginx-proxy/nginx-conf.d/cloud.wojciechkozlowski.eu.conf b/proxy/nginx-conf.d/cloud.wojciechkozlowski.eu.conf similarity index 100% rename from nginx-proxy/nginx-conf.d/cloud.wojciechkozlowski.eu.conf rename to proxy/nginx-conf.d/cloud.wojciechkozlowski.eu.conf diff --git a/proxy/nginx-conf.d/gitlab.wojciechkozlowski.eu.conf b/proxy/nginx-conf.d/gitlab.wojciechkozlowski.eu.conf new file mode 100644 index 0000000..8cfe54d --- /dev/null +++ b/proxy/nginx-conf.d/gitlab.wojciechkozlowski.eu.conf @@ -0,0 +1,17 @@ +server { + listen 80; + server_name gitlab.wojciechkozlowski.eu; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header Host $host; + proxy_pass http://docker_gitlab; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } + +} diff --git a/nginx-proxy/nginx-conf.d/wiki.wojciechkozlowski.eu.conf b/proxy/nginx-conf.d/wiki.wojciechkozlowski.eu.conf similarity index 100% rename from nginx-proxy/nginx-conf.d/wiki.wojciechkozlowski.eu.conf rename to proxy/nginx-conf.d/wiki.wojciechkozlowski.eu.conf diff --git a/nginx-proxy/nginx-conf.d/wojciechkozlowski.eu.conf b/proxy/nginx-conf.d/wojciechkozlowski.eu.conf similarity index 100% rename from nginx-proxy/nginx-conf.d/wojciechkozlowski.eu.conf rename to proxy/nginx-conf.d/wojciechkozlowski.eu.conf