Griffon Plugin Portal
Groovy Gosu Java JavaScript CSS
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Griffon Artifact Portal

This is the code for You can use this application to setup a custom Remote Artifact repository that can serve artifacts locally to your organization.


This application was developed using Grails 2.0.1 and makes use of several plugins. You'll need a persistent database (such as PostgreSQL or MySQL) for running the portal in production mode.


Open up grails-app/conf/Config.groovy and tweak the following configuration settings according to your needs

Storage Directory

The portal stores zip files in two different directories. These directories should be durable and backed up regularly. Make sure to point the following properties to more appropriate locations = '/tmp/griffon-artifact-portal/packages' = '/tmp/griffon-artifact-portal/releases'


The portal has the option to send announcements via Twitter whenever a release is uploaded. For this to work you have to configure a Twitter account; follow the instructions found at the Twitter4j plugin. Once the tokens have been added to the configuration, disable the Twitter4jController and switch to true twitter.enabled.


Email templates are located in grails-app/views/email. Feel free to make any adjustments necessary. You must configure mail settings as described by the Mail plugin.


In order to publish artifacts via SCP you must configure the SSH access port and the default key storage. These properties are set by default to the following values

sshd.port = 2222
sshd.keystorage = 'artifact-portal.ser'

Snapshot Releases

Should you wish to disallow the publication of snapshot releases then set the following flag to false

allow.snapshots = false

GeoIP Database

Check if there's a newer version of the GeoLiteCity.dat file provided by Maxmind. This file is used to resolve download stats per country. The application already bundles this file however chances are it may be outdated.

Server URL

Lastly, don't forget to update grails.serverURL in Config.groovy. It should point to the URL from which you'll serve the portal. Update this setting if deploying a WAR in production mode.

Getting Started

First you should run the application and configure an initial admin account:

grails -Dinitial.admin.password=mypasswd prod run-app

This assigns mypasswd as the password for the admin account in the production database. You can either continue to run the application in production mode or quit to later package it in a war and deploy it to an application server.