{"id":13551429,"url":"https://github.com/linkeddata/gold","last_synced_at":"2026-01-11T05:46:50.497Z","repository":{"id":13609682,"uuid":"16302690","full_name":"linkeddata/gold","owner":"linkeddata","description":"Linked Data server for Go","archived":false,"fork":false,"pushed_at":"2020-07-21T08:25:51.000Z","size":1473,"stargazers_count":151,"open_issues_count":33,"forks_count":35,"subscribers_count":25,"default_branch":"master","last_synced_at":"2024-08-01T12:24:47.102Z","etag":null,"topics":["solid","solid-server"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linkeddata.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-01-28T05:07:59.000Z","updated_at":"2024-06-21T16:41:10.000Z","dependencies_parsed_at":"2022-08-31T05:51:28.587Z","dependency_job_id":null,"html_url":"https://github.com/linkeddata/gold","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkeddata%2Fgold","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkeddata%2Fgold/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkeddata%2Fgold/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkeddata%2Fgold/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linkeddata","download_url":"https://codeload.github.com/linkeddata/gold/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222905906,"owners_count":17055819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["solid","solid-server"],"created_at":"2024-08-01T12:01:48.155Z","updated_at":"2024-11-03T21:32:20.702Z","avatar_url":"https://github.com/linkeddata.png","language":"Go","funding_links":[],"categories":["Go","others","Linked Data Platform (LDP)","Knowledge Graph Management"],"sub_categories":["SPARQL Applications","Linked Data Platform (LDP)"],"readme":"# gold\n   \n[![](https://img.shields.io/badge/project-Solid-7C4DFF.svg?style=flat-square)](https://github.com/solid/solid)\n[![Join the chat at https://gitter.im/linkeddata/gold](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/linkeddata/gold?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n`gold` is a reference Linked Data Platform server for the\n**[Solid platform](https://github.com/solid/solid-spec)**.\n\nWritten in Go, based on\n[initial work done by William Waites](https://bitbucket.org/ww/gold).\n\n[![Build Status](https://travis-ci.org/linkeddata/gold.svg?branch=master)](https://travis-ci.org/linkeddata/gold)\n\n## Installing\n\n### From docker repository:\n\n```\nsudo docker pull linkeddata/gold\nsudo docker run -p ip:port:443 linkeddata/gold\n```\nReplace `ip` and `port` with your host computer's IP address and port number.\n\nTo check the status of the container, type:\n\n```\nsudo docker ps\n```\n\n`IMPORTANT`: if you want to mount a host directory into the container, you can use the -v parameter:\n\n```\nsudo docker run -p ip:port:443 -v /home/user/data:/data linkeddata/gold\n```\n\nThis will mount the host directory, `/home/user/data`, into the container as the `/data/` directory. Doing this will allow you to reuse the data directory without worrying about persistence inside the container.\n\n### From Github:\n\n1. Setup Go:\n\n    * **Mac OS X**: `brew install go`\n    * **Ubuntu**: `sudo apt-get install golang-go`\n    * **Fedora**: `sudo dnf install golang`\n\n1. Set the `GOPATH` variable (required by Go):\n\n      ```bash\n      mkdir ~/go\n      export GOPATH=~/go\n      ```\n    \n      (Optionally consider adding `export GOPATH=~/go` to your `.bashrc` or profile).\n\n1. Check that you have the required Go version (**Go 1.4 or later**):\n\n      ```\n      go version\n      ```\n    \n      If you don't, please [install](http://golang.org/doc/install) a more recent\n      version.\n\n1. Use the `go get` command to install the server and all the dependencies:\n\n    ```\n    go get github.com/linkeddata/gold/server\n    ```\n    \n1. Install dependencies:\n    * **Mac OS X**: `brew install raptor libmagic`\n    * **Ubuntu**: `sudo apt-get install libraptor2-dev libmagic-dev`\n    * **Fedora**: `sudo dnf install raptor2-devel file-devel`\n  \n\n1. (Optional) Install extra dependencies used by the tests:\n\n    ```\n    go get github.com/stretchr/testify/assert\n    ```\n\n## Running the Server\n\n**IMPORTANT**: Among other things, `gold` is a web server. Please consider\nrunning it as a regular user instead of root. Since gold treats all files\nequally, and even though uploaded files are not made executable, it will not\nprevent clients from uploading malicious shell scripts.\n\nPay attention to the data root parameter, `-root`. By default, it will serve\nfiles from its current directory (so, for example, if you installed it from\nGithub, its data root will be `$GOPATH/src/github.com/linkeddata/gold/`).\nOtherwise, make sure to pass it a dedicated data directory to serve, either\nusing a command-line parameter or the [config file](#configuration).\nSomething like: `-root=/var/www/data/` or `-root=~/data/`.\n\n1. If you installed it from package via `go get`, you can run it by:\n\n  ```\n  $GOPATH/bin/server -http=\":8080\" -https=\":8443\" -debug\n  ```\n\n2. When developing locally, you can `cd` into the repo cloned by `go get`:\n\n  ```\n  cd $GOPATH/src/github.com/linkeddata/gold\n  ```\n\n  And launch the server by:\n\n  ```\n  go run server/*.go -http=\":8080\" -https=\":8443\" -debug -boltPath=/tmp/bolt.db\n  ```\n\n  Alternatively, you can compile and run it from the source dir in one command:\n\n  ```\n  go run $GOPATH/src/github.com/linkeddata/gold/server/*.go -http=\":8080\" -https=\":8443\" \\\n    -root=/home/user/data/ -debug -boltPath=/tmp/bolt.db\n  ```\n\n\n## Configuration\n\nYou can use the provided `gold.conf-example` file to create your own\nconfiguration file, and specify it with the `-conf` parameter.\n\n```bash\ncd $GOPATH/src/github.com/linkeddata/gold/\ncp gold.conf-example server/gold.conf\n\n# edit the configuration file\nnano server/gold.conf\n\n# pass the config file when launching the gold server\n$GOPATH/bin/server -conf=$GOPATH/src/github.com/linkeddata/gold/server/gold.conf\n```\n\nTo see a list of available options:\n\n    ~/go/bin/server -help\n\nSome important options and defaults:\n\n* `-conf` - Optional path to a config file.\n\n* `-debug` - Outputs config parameters and extra logging. Default: `false`.\n\n* `-root` - Specifies the data root directory which `gold` will be serving.\n  Default: `.` (so, likely to be `$GOPATH/src/github.com/linkeddata/gold/`).\n\n* `-http` - HTTP port on which the server listens. For local development,\n  the default HTTP port, `80`, is likely to be reserved, so pass in an\n  alternative. Default: `\":80\"`. Example: `-http=\":8080\"`.\n\n* `-https` - HTTPS port on which the server listens. For local development,\n  the default HTTPS port, `443`, is likely to be reserved, so pass in an\n  alternative. Default: `\":443\"`. Example: `-https=\":8443\"`.\n\n## Testing\nTo run the unit tests (assuming you've installed `assert` via\n`go get github.com/stretchr/testify/assert`):\n\n```\nmake test\n```\n\n## Notes\n\n* HOWTO : [Get an example X.509 cert](https://gist.github.com/melvincarvalho/e14753a7137d02d756f19299fed292b4)\n* HOWTO : [Login after getting a 401](https://gist.github.com/melvincarvalho/72eaff2fbf1b51a805846320e0bff0cc)\n* HOWTO : [Recover an account](https://gist.github.com/melvincarvalho/bcc04e1529dd3a4509892346109b1d37)\n\n## License\n[MIT](http://joe.mit-license.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinkeddata%2Fgold","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinkeddata%2Fgold","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinkeddata%2Fgold/lists"}