60 lines
1.8 KiB
YAML
60 lines
1.8 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:
|
|
- /mnt/tank/app-data/gitlab/config:/etc/gitlab
|
|
- /mnt/tank/app-data/gitlab/data:/var/opt/gitlab
|
|
- /mnt/tank/app-data/gitlab/pages:/mnt/pages
|
|
tmpfs:
|
|
- /var/log/gitlab
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
ports:
|
|
- "{{ wireguard.clients.intersect.ip }}: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:
|
|
- /mnt/tank/dbs/postgres/gitlab:/var/lib/postgresql/data
|
|
environment:
|
|
- POSTGRES_PASSWORD=gitlab
|
|
- POSTGRES_USER=gitlab
|
|
- POSTGRES_DB=gitlabhq_production
|
|
|
|
redis:
|
|
image: redis:6-alpine
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /mnt/tank/dbs/redis/gitlab:/data
|
|
|
|
lsyncd:
|
|
image: theorangeone/lsyncd:latest
|
|
environment:
|
|
- PUID=998
|
|
- PGID=998
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /mnt/tank/app-data/gitlab/pages:/mnt/pages:ro
|
|
- /mnt/tank/app-data/gitlab/lsyncd/lsyncd.lua:/config/lsyncd.lua:ro
|
|
- /mnt/tank/app-data/gitlab/lsyncd/id_ed25519.pub:/config/.ssh/id_ed25519.pub
|
|
- /mnt/tank/app-data/gitlab/lsyncd/id_ed25519:/config/.ssh/id_ed25519
|
|
- /mnt/tank/app-data/gitlab/lsyncd/known_hosts:/config/.ssh/known_hosts
|