60 lines
1.7 KiB
YAML
60 lines
1.7 KiB
YAML
version: "2.3"
|
|
|
|
services:
|
|
gitlab:
|
|
image: gitlab/gitlab-ce:latest
|
|
hostname: gitlab.theorangeone.net
|
|
environment:
|
|
TZ: Europe/London
|
|
GITLAB_OMNIBUS_CONFIG: |
|
|
{% filter indent(width=8) %}
|
|
{%- include "gitlab.rb" %}
|
|
{% endfilter %}
|
|
|
|
volumes:
|
|
- "{{ app_data_dir }}/gitlab/config:/etc/gitlab"
|
|
- "{{ app_data_dir }}/gitlab/data:/var/opt/gitlab"
|
|
- "{{ app_data_dir }}/gitlab/pages:/mnt/pages"
|
|
tmpfs:
|
|
- /var/log/gitlab
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
ports:
|
|
- "8022:22"
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.gitlab.rule=Host(`git.theorangeone.net`) || Host(`git.0rng.one`)
|
|
- traefik.http.routers.gitlab.tls.certresolver=le
|
|
- traefik.http.services.gitlab-gitlab.loadbalancer.server.port=80
|
|
- traefik.http.services.gitlab-gitlab.loadbalancer.server.scheme=http
|
|
|
|
db:
|
|
image: postgres:12-alpine
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./postgres:/var/lib/postgresql/data
|
|
environment:
|
|
- POSTGRES_PASSWORD=gitlab
|
|
- POSTGRES_USER=gitlab
|
|
- POSTGRES_DB=gitlabhq_production
|
|
|
|
redis:
|
|
image: redis:6-alpine
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./redis:/data
|
|
|
|
lsyncd:
|
|
image: theorangeone/lsyncd:latest
|
|
environment:
|
|
- PUID=998
|
|
- PGID=998
|
|
restart: unless-stopped
|
|
volumes:
|
|
- "{{ app_data_dir }}/gitlab/pages:/mnt/pages:ro"
|
|
- "{{ app_data_dir }}/gitlab/lsyncd/lsyncd.lua:/config/lsyncd.lua:ro"
|
|
- "{{ app_data_dir }}/gitlab/lsyncd/id_ed25519.pub:/config/.ssh/id_ed25519.pub"
|
|
- "{{ app_data_dir }}/gitlab/lsyncd/id_ed25519:/config/.ssh/id_ed25519"
|
|
- "{{ app_data_dir }}/gitlab/lsyncd/known_hosts:/config/.ssh/known_hosts"
|