The Gemma Browser is a modern frontend for [Gemma]1 built on top of the [Gemma REST API]2 with [Vue.js]3 and [Vuetify]4.
- Node.js
- npm
- an HTTP server capable of delivering static assets (for deployment)
For local development or deployment, you must install the dependencies first:
npm install
Configurations are located in .env.development
. Use .env.development.local
to supply secrets.
npm run serve
Configurations are located in .env.production
. Use .env.production.local
to supply secrets.
npm run build # or devbuild for a development build
rsync -av dist/ foo@bar:/deployment/destination/
When deploying to production, make sure that static assets are compressed. This is particularly important for the JavaScript and CSS bundles, and also fonts.
If you use Apache HTTP Server to serve the content, use the following configuration:
Alias /browse /deployment/destination
<Directory /deployment/destination>
Options -Indexes # prevent listing
AllowOverride None # ignore .htaccess
# allow everyone to access
Order allow,deny
Allow from all
# compress static assets
AddOutputFilterByType DEFLATE text/css text/javascript application/javascript font/sfnt application/font-fsnt application/vnd.ms-fontobject image/svg+xml
</Directory>