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.

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:

  1. http://12.34.56.789/ - not encrypted so no browser warning
  2. 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.

  1. Point your browser to:
  2. 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