BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
93e42f69
Commit
93e42f69
authored
Feb 19, 2015
by
Jacob Vosmaer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Document fun facts about omnibus-gitlab
parent
0b8e41aa
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
32 additions
and
0 deletions
+32
-0
omnibus.md
doc/development/omnibus.md
+32
-0
No files found.
doc/development/omnibus.md
0 → 100644
View file @
93e42f69
# What you should know about omnibus packages
Most users install GitLab using our omnibus packages. As a developer it can be
good to know how the omnibus packages differ from what you have on your laptop
when you are coding.
## Files are owned by root by default
All the files in the Rails tree (
`app/`
,
`config/`
etc.) are owned by 'root' in
omnibus installations. This makes the installation simpler and it provides
extra security. The omnibus reconfigure script contains commands that give
write access to the 'git' user only where needed.
For example, the 'git' user is allowed to write in the
`log/`
directory, in
`public/uploads`
, and they are allowed to rewrite the
`db/schema.rb`
file.
In other cases, the reconfigure script tricks GitLab into not trying to write a
file. For instance, GitLab will generate a
`.secret`
file if it cannot find one
and write it to the Rails root. In the omnibus packages, reconfigure writes the
`.secret`
file first, so that GitLab never tries to write it.
## Code, data and logs are in separate directories
The omnibus design separates code (read-only, under
`/opt/gitlab`
) from data
(read/write, under
`/var/opt/gitlab`
) and logs (read/write, under
`/var/log/gitlab`
). To make this happen the reconfigure script sets custom
paths where it can in GitLab config files, and where there are no path
settings, it uses symlinks.
For example,
`config/gitlab.yml`
is treated as data so that file is a symlink.
The same goes for
`public/uploads`
. The
`log/`
directory is replaced by omnibus
with a symlink to
`/var/log/gitlab/gitlab-rails`
.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment