diff --git a/devops/docker-compose.yml b/devops/docker-compose.yml new file mode 100644 index 0000000..5d62235 --- /dev/null +++ b/devops/docker-compose.yml @@ -0,0 +1,76 @@ +version: '3.9' + +services: + vscode: + image: codercom/code-server:custom_base_init + container_name: vscode + restart: unless-stopped + environment: + - DOCKER_USER=nick + volumes: + - /home/nick/configs/devops/code:/home/coder/.config + - /mnt/storage/private/nick/development:/home/coder/dev + - /var/run/docker.sock:/var/run/docker.sock + networks: + - proxy + - devops + user: '1000:1000' + + gitlab: + image: gitlab/gitlab-ce:latest + container_name: gitlab + hostname: ${GITLAB_HOSTNAME} + restart: unless-stopped + environment: + GITLAB_OMNIBUS_CONFIG: | + external_url '${GITLAB_URL}' + nginx['ssl_certificate'] = "/etc/gitlab/ssl/fullchain.pem" + nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/privkey.pem" + registry_external_url '${GITLAB_REGISTRY_URL}' + registry_nginx['ssl_certificate'] = "/etc/gitlab/ssl/fullchain.pem" + registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/privkey.pem" + gitlab_rails['registry_path'] = "/etc/registry" + letsencrypt['enable'] = false + web_server['username'] = 'git' + prometheus['enable'] = false + grafana['enable'] = false + gitlab_rails['monitoring_whitelist'] = ['127.0.0.0/8', '192.168.1.1/24'] + gitlab_rails['smtp_enable'] = true + gitlab_rails['smtp_address'] = "${SMTP_HOST}" + gitlab_rails['smtp_port'] = ${SMTP_PORT} + gitlab_rails['smtp_user_name'] = "${SMTP_USER}" + gitlab_rails['gitlab_email_from'] = '${SMTP_FROM}' + gitlab_rails['smtp_password'] = "${SMTP_PASSWORD}" + gitlab_rails['smtp_domain'] = "${SMTP_HOST}" + gitlab_rails['smtp_authentication'] = "login" + gitlab_rails['smtp_enable_starttls_auto'] = true + gitlab_rails['smtp_tls'] = false + gitlab_rails['smtp_openssl_verify_mode'] = 'peer' + volumes: + - '/home/nick/configs/devops/gitlab/config:/etc/gitlab' + - '/home/nick/configs/devops/gitlab/logs:/var/log/gitlab' + - '/home/nick/configs/devops/gitlab/data:/var/opt/gitlab' + - '/home/nick/configs/devops/gitlab/registry:/etc/registry' + - '/home/nick/configs/routing/swag/keys/letsencrypt/fullchain.pem:/etc/gitlab/ssl/fullchain.pem:ro' + - '/home/nick/configs/routing/swag/keys/letsencrypt/privkey.pem:/etc/gitlab/ssl/privkey.pem:ro' + networks: + - devops + - proxy + shm_size: '256m' + + gitlab_runner: + image: gitlab/gitlab-runner + container_name: gitlab_runner + restart: unless-stopped + volumes: + - '/home/nick/configs/devops/gitlab/runner:/etc/gitlab-runner' + - '/var/run/docker.sock:/var/run/docker.sock' + networks: + - devops + +networks: + proxy: + external: true + name: proxy + devops: + name: devops