A docker-compose configuration for running a phabricator server for development
- Clone this repository
- Modify the
.env
file to set desired variables
- The
INSTALLDIR
variable should generally not be changed, it's the location within the container where phabricator/arcanist will be installed to. - The
HOST
variable is the hostname for phabricator to be hosted on. Phabricator requires something with a.
so this cannot belocalhost
. Pro-tip: do not usesomething.dev
as the.dev
TLD is a valid domain and browsers will likely force loading using HTTPS instead of HTTP. - The
PORT
variable is the port to be exposed on the host, in case other services are running or you don't want to use the default port 80.
- Modify the
conf/local.json
file to configure for your setup
- Items above the blank line should generally not need configured. JSON does not support comments otherwise this would be indicated directly in the file.
- Update
phabricator.timezone
to match your current/local timezone. The value for this should be a valid PHP time zone.
- Clone phabricator and arcanist repos within this one (the
.gitignore
will avoid git repo conflicts).
$ git clone ../phabricator.git
$ git clone ../arcanist.git
Alternative, symlink phabricator
and arcanist
inside the repo folder
$ ln -s ../phabricator phabricator
$ ln -s ../arcanist arcanist
- Start the containers. The first time this runs the container image will be built.
$ docker-compose up
- Modify local
/etc/hosts
orC:\Windows\System32\drivers\etc\hosts
and add127.0.0.1 phabricator.test
- Navigate to
http://phabricator.test
- Address outstanding setup issues such as configuring an Auth Provider
- These setup issues can be ignored since this is only intended for local development:
- Alternate File Domain Not Configured
- Mailers Not Configured
- You will probably want to register a new account while remaining logged in as the initial admin. The initial admin account does not have a password. The only way to set a password for this admin account requires sending email, which this development environment does not have configured.
- Pro tip: You can lower the minimum password length by changing
account.minimum-password-length
setting.
When running with docker-compose up
the stdin/stdout will be tied to your terminal. If you want to run it in the background use docker-compose up -d
.
To stop the services use docker-compose stop
.
If you need to modify the .env
file after the first time running docker-compose up
you will need to re-build using docker-compose build --no-cache
.