84 lines
2.5 KiB
Markdown
84 lines
2.5 KiB
Markdown
# Troubleshooting
|
|
|
|
This is to troubleshoot https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/245
|
|
But it might contain useful commands for other cases as well.
|
|
|
|
The configuration to add the postgres log in vim is:
|
|
postgresql['log_directory'] = '/var/log/gitlab/postgresql'
|
|
|
|
# Commands
|
|
|
|
```bash
|
|
sudo docker build --tag gitlab/gitlab-ce:latest docker/
|
|
|
|
sudo docker rm -f gitlab
|
|
|
|
sudo docker exec -it gitlab vim /etc/gitlab/gitlab.rb
|
|
|
|
sudo docker exec gitlab tail -f /var/log/gitlab/reconfigure.log
|
|
|
|
sudo docker exec gitlab tail -f /var/log/gitlab/postgresql/current
|
|
|
|
sudo docker exec gitlab cat /var/opt/gitlab/postgresql/data/postgresql.conf | grep shared_buffers
|
|
|
|
sudo docker exec gitlab cat /etc/gitlab/gitlab.rb
|
|
```
|
|
|
|
# Interactively
|
|
|
|
```bash
|
|
# First start a GitLab container without starting GitLab
|
|
# This is almost the same as starting the GitLab container except:
|
|
# - we run interactively (-t -i)
|
|
# - we define TERM=linux because it allows to use arrow keys in vi (!!!)
|
|
# - we choose another startup command (bash)
|
|
sudo docker run --ti \
|
|
-e TERM=linux
|
|
--publish 80443:443 --publish 8080:80 --publish 2222:22 \
|
|
--name gitlab \
|
|
--restart always \
|
|
--volume /srv/gitlab/config:/etc/gitlab \
|
|
--volume /srv/gitlab/logs:/var/log/gitlab \
|
|
--volume /srv/gitlab/data:/var/opt/gitlab \
|
|
gitlab/gitlab-ce:latest \
|
|
bash
|
|
|
|
# Configure GitLab to redirect PostgreSQL logs
|
|
echo "postgresql['log_directory'] = '/var/log/gitlab/postgresql'" >> /etc/gitlab/gitlab.rb
|
|
|
|
# Prevent Postgres from allocating 25% of total memory
|
|
echo "postgresql['shared_buffers'] = '1MB'" >> /etc/gitlab/gitlab.rb
|
|
|
|
# You can now start GitLab manually from Bash (in the background)
|
|
# Maybe the command below is still missing something to run in the background
|
|
gitlab-ctl reconfigure > /var/log/gitlab/reconfigure.log & /opt/gitlab/embedded/bin/runsvdir-start &
|
|
|
|
# Inspect PostgreSQL config
|
|
cat /var/opt/gitlab/postgresql/data/postgresql.conf | grep shared_buffers
|
|
|
|
# And tail the logs (PostgreSQL log may not exist immediately)
|
|
tail -f /var/log/gitlab/reconfigure.log /var/log/gitlab/postgresql/current
|
|
|
|
# And get the memory
|
|
cat /proc/meminfo
|
|
head /proc/sys/kernel/shmmax /proc/sys/kernel/shmall
|
|
free -m
|
|
|
|
```
|
|
|
|
# Cleanup
|
|
|
|
Remove ALL docker containers and images (also non GitLab ones).
|
|
**Be careful, because the `-v` also removes volumes attached to the images.**
|
|
|
|
```bash
|
|
# Remove all containers with attached volumes
|
|
docker rm -v $(docker ps -a -q)
|
|
|
|
# Remove all images
|
|
docker rmi $(docker images -q)
|
|
|
|
# Remove GitLab persistent data
|
|
rm -rf /srv/gitlab
|
|
```
|
|
|