I really like docker, because it makes provisioning and maintenance easy. What I am missing is an official docker image for solid-server.
Yes, there is a Dockerfile in the node-solid-server project and a description, how to run it. But you need to check out the repository and the necessity to update the config file is not clear to everybody . And it is really suboptimal to do this via docker cp
.
So, if there is nothing else I am missing, I am going to start building a production ready docker image.
5 Likes
It would be nice if you could at build time already include a set of users.
This sounds useful for testing, but I will focus on features needed for production use first. Nevertheless you can create a feature request as soon as I set up a repository.
1 Like
Nice
Personally the actual dockerfile is perfect and I use it as such with a mount data, config.json and .pem files at run time (actually also .db which is not reset by default when the server starts)
This way except for docker build I can use the Synology docker app in personal pod production.
Synology proxy allows the use of webid’s without :8443 port extension.
I use freenom.com as domain provider and sslforfree.com for let’s encrypt certificates.
(Certificates need to be imported in Synology then exported to be in .pem formats).
How do you handle versioning / upgrading? You would have to checkout the version tag from github and build the image from source each time. I would expect to find a ready to use, versioned and well-documented docker image on docker hub or any other docker registry.
1 Like
That’s why I stated except for 'docker building image.
I do like your idea of doing and maintaining docker versioned images
1 Like
I created a repository on github and started coding on it
Feel free to join me.
I have been running my solid-server image successfully for some time now. Give it a try if you like. It’s also a good way to get started with NSS 5.0.0
And on docker hub:
https://cloud.docker.com/u/aveltens/repository/docker/aveltens/solid-server
Any feedback welcome.
7 Likes
I’m new to Solid and I have an issue running this docker image, I appreciate if anyone could help me figuring it out
opened 03:47AM - 11 Apr 19 UTC
closed 12:47PM - 13 Apr 19 UTC
question
While running this image, it keeps bringing an exception about loading the key.p… em certificate file. I tried to edit the docker-compose.yml "SOLID_SSL_KEY" from key.pem to privkey.pem "like certbot generated one" but it didn't work.
here is the exception stack
`server_1_bcc3baf06840 | Generating a RSA private key
server_1_bcc3baf06840 | ..........................................................................................+++++
server_1_bcc3baf06840 | ........................................................................................................+++++
server_1_bcc3baf06840 | writing new private key to './solid-temporary.key'
server_1_bcc3baf06840 | -----
server_1_bcc3baf06840 | Finished: SUCCESS
server_1_bcc3baf06840 | TIP create a config.json: `$ solid init`
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings Server URI: https://mohamedsaidhamed.org
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings Auth method: oidc
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings Strict origins: true
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings Allowed origins:
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings Db path: ./.db
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings Config path: ./config
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings Suffix Acl: undefined
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings Suffix Meta: undefined
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings Filesystem Root: none
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings Allow WebID authentication: true
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings Live-updates: true
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings Multi-user: false
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings Suppress default data browser app: undefined
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings Default data browser app file path: default
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings Base URL (--mount): /
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings SSL Private Key path: /opt/solid/certs/key.pem
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:settings SSL Certificate path: /opt/solid/certs/fullchain.pem
server_1_bcc3baf06840 | ERROR Can't find SSL key in /opt/solid/certs/key.pem
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:authentication Provider keys loaded from config
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:authentication Provider keychain initialized
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:authentication Not sleeping before client registration...
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:authentication Client not present for issuer https://mohamedsaidhamed.org, initializing new client
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:authentication Registering new client for issuer https://mohamedsaidhamed.org
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:authentication Error registering a new client: { FetchError: request to https://mohamedsaidhamed.org/.well-known/openid-configuration failed, reason: read ECONNRESET
server_1_bcc3baf06840 | at ClientRequest.<anonymous> (/usr/local/lib/node_modules/solid-server/node_modules/node-fetch/lib/index.js:1444:11)
server_1_bcc3baf06840 | at ClientRequest.emit (events.js:189:13)
server_1_bcc3baf06840 | at TLSSocket.socketErrorListener (_http_client.js:392:9)
server_1_bcc3baf06840 | at TLSSocket.emit (events.js:189:13)
server_1_bcc3baf06840 | at emitErrorNT (internal/streams/destroy.js:82:8)
server_1_bcc3baf06840 | at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
server_1_bcc3baf06840 | at process._tickCallback (internal/process/next_tick.js:63:19)
server_1_bcc3baf06840 | message:
server_1_bcc3baf06840 | 'request to https://mohamedsaidhamed.org/.well-known/openid-configuration failed, reason: read ECONNRESET',
server_1_bcc3baf06840 | type: 'system',
server_1_bcc3baf06840 | errno: 'ECONNRESET',
server_1_bcc3baf06840 | code: 'ECONNRESET' }
server_1_bcc3baf06840 | Thu, 11 Apr 2019 03:35:19 GMT solid:authentication Error initializing local RP client: { FetchError: request to https://mohamedsaidhamed.org/.well-known/openid-configuration failed, reason: read ECONNRESET
server_1_bcc3baf06840 | at ClientRequest.<anonymous> (/usr/local/lib/node_modules/solid-server/node_modules/node-fetch/lib/index.js:1444:11)
server_1_bcc3baf06840 | at ClientRequest.emit (events.js:189:13)
server_1_bcc3baf06840 | at TLSSocket.socketErrorListener (_http_client.js:392:9)
server_1_bcc3baf06840 | at TLSSocket.emit (events.js:189:13)
server_1_bcc3baf06840 | at emitErrorNT (internal/streams/destroy.js:82:8)
server_1_bcc3baf06840 | at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
server_1_bcc3baf06840 | at process._tickCallback (internal/process/next_tick.js:63:19)
server_1_bcc3baf06840 | message:
server_1_bcc3baf06840 | 'request to https://mohamedsaidhamed.org/.well-known/openid-configuration failed, reason: read ECONNRESET',
server_1_bcc3baf06840 | type: 'system',
server_1_bcc3baf06840 | errno: 'ECONNRESET',
server_1_bcc3baf06840 | code: 'ECONNRESET' }
`
1 Like
megoth
April 11, 2019, 9:09am
10
There’s work being done on the official Solid container now, check out https://github.com/solid/node-solid-server/issues/1167 to follow or join the conversation
2 Likes