Deprecated appliance
Trac
Integrated SCM & Project Management
Trac screenshots
Please note: TurnKey Trac is not currently available from the TurnKey software appliance library.
The TurnKey Linux Trac appliance is not currently available due to some previous upstream technical issues involving outdated dependencies. Now that those issues have been resolved, we hope to revive this appliance in the near future. Unfortunately, due to internal resource limitations and other priorities, there is no ETA of when it may be available again. Thank you for your understanding.
We warmly welcome any community contributions to assist us to get the Trac appliance available again.
In the meantime, please check out some our other Revision Control, Issue Tracking and and Project Management appliances.
Until further notice, this page remains available for informational purposes only.
Trac is a web-based project management and bug-tracking tool. It allows hyperlinking information between a computer bug database, revision control and wiki content. It also serves as a web interface to the revision control systems Subversion and Git. Among the users of Trac is NASA's Jet Propulsion Laboratory.
GitHub
This appliance includes all the standard features in TurnKey Core, and on top of that:
- Trac configurations:
- Installed from package management. See /var/www for links to file paths.
- Supports Git and Subversion.
- List repositories in web interface.
- Example helloworld repositories.
- Site wide authentication realm and admin user.
- Uses python-pygments for syntax highlighting.
- SSL support out of the box.
- Postfix MTA (bound to localhost) to allow sending of email (e.g., password recovery).
- Webmin modules for configuring Apache2 and Postfix.
- Repository access:
Name Protocol access ---- --------------- Git http://$ipaddr/git https://$ipaddr/git ssh://vcs@$ipaddr/git Subversion http://$ipaddr/svn svn://addr/svn svn+ssh://vcs@$ipaddr/srv/repos/svn Repositories are stored in /srv/repos.
To simplify creating new projects, helper script trac-initproject is included. Please refer to the Trac documentation for usage notes on how to create and access projects.
Usage details & Logging in for Administration
No default passwords: For security reasons there are no default passwords. All passwords are set at system initialization time.
Ignore SSL browser warning: browsers don't like self-signed SSL certificates, but this is the only kind that can be generated automatically. If you have a domain configured, then via Confconsole Advanced menu, you can generate free Let's Encypt SSL/TLS certificates.
Web - point your browser at either:
- http://12.34.56.789/ - not encrypted so no browser warning
- https://12.34.56.789/ - encrypted with self-signed SSL certificate
Note: some appliances auto direct http to https.
Username for trac:
Login as username admin
Username for OS system administration:
Login as root except on AWS marketplace which uses username admin.
- Point your browser to:
- https://12.34.56.789:12321/ - System control panel
- https://12.34.56.789:12320/ - Web based command line terminal
- Login with SSH client:
ssh root@12.34.56.789
Special case for AWS marketplace:
ssh admin@12.34.56.789
* Replace 12.34.56.789 with a valid IP or hostname.
Documentation
Helper script: trac-initproject
Update: trac-initproject is now included in TurnKey Trac. Please see the latest version of the helper script here.
If you are using an older version, this script should be saved as /usr/local/bin/trac-initproject and marked as executable:
chmod +x /usr/local/bin/trac-initproject
Refer to the usage documentation for example usage.
Trac usage: Creating and accessing projects
The below usage notes are dependent on trac-initproject.
The exemplary project name is called foobar.
git
To initialize the project, log into the Trac server and execute:
trac-initproject git foobar
Developers can then upload their local master branch using the following methods:
If public push access is enabled:
git-push git://appliance_ip/git/foobar master
Or, over an SSH connection:
git-push ssh://root@appliance_ip/srv/repos/git/public/foobar.git master
Optionally, the developer can configure the remote repository for simpler future updates:
git-config remote.turnkey-trac.url ssh://root@appliance_ip/srv/repos/git/public/foobar.git git-config remote.turnkey-trac.push +master:refs/heads/master git-push turnkey-trac
Users can then clone the remote repository using the following methods:
Anonymously:
git-clone git://appliance_ip/git/foobar
Or, over an SSH connection:
git-clone ssh://root@appliance_ip/srv/repos/git/foobar
As of v14.0, Bazaar is no longer supported.
Bazaar (bzr)
To initialize the project, log into the Trac server and execute:
trac-initproject bzr foobar
Developers can then upload their local branch:
Over an SFTP connection (depends on python-paramiko)
bzr push sftp://root@1.0.0.94/srv/repos/bzr/foobar
If there is no default push location set, the first push will set it. After that, the location can be omitted and the default will be used:
bzr push
Users can then clone the remote repository:
bzr clone bzr://appliance_ip/bzr/foobar
Mercurial (hg)
To initialize the project, log into the Trac server and execute:
trac-initproject hg foobar
Developers can then upload their local branch using the following methods:
Note the extra slash. Mercurial assumes paths are relative to the users home directory over SSH connections:
hg push ssh://root@appliance_ip//srv/repos/hg/foobar
Optionally, the developer can configure the remote repository for simpler future updates, by adding the following to foobar/.hg/hgrc
[paths] default-push = ssh://root@appliance_ip//srv/repos/hg/foobar
Future pushes can then be performed as follows:
hg push
Users can then clone the remote repository:
hg clone http://appliance_ip:8080/foobar
Subversion (svn)
To initialize the project, log into the Trac server and execute:
trac-initproject svn foobar
Developers can then checkout the remote repository, make changes, then commit back to the remote repository:
Checkout over SSH:
svn co svn+ssh://root@appliance_ip/srv/repos/svn/foobar
After making local changes, they can be commited to the remote repository:
svn commit
Users can then checkout the remote repository using the following methods:
Anonymously:
svn co svn://appliance_ip/svn/foobar
Or, over an SSH connection:
svn co svn+ssh://root@appliance_ip/srv/repos/svn/foobar


