Skip to content

Commit af95dc8

Browse files
committed
add documentation
1 parent 75bf34e commit af95dc8

3 files changed

Lines changed: 93 additions & 21 deletions

File tree

CONTRIBUTING.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# How to contribute
2+
3+
If you want to experiment with the image and/or contribute to its development,
4+
please read this document.
5+
6+
## Run tests
7+
8+
```bash
9+
make test
10+
```
11+
12+
The first run might take a while, since the image has to be build. Follow up test runs will be faster.
13+
14+
## Start & stop locally
15+
16+
Build and run a local container named solid-server via
17+
18+
```bash
19+
make start
20+
```
21+
22+
and stop it via
23+
24+
```bash
25+
make stop
26+
```
27+
28+
## Inspect & debug
29+
30+
To start a shell in a running container (started with `make start`) run `make attach`.
31+
32+
To just run a shell in the built image (without starting solid) run `make inspect`.
33+

README.md

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,40 +4,46 @@ Containerized version of node-solid-server
44

55
## How to use
66

7-
This is still work in progress and not meant to be used in production yet.
7+
For quickly check out this image or solid-server in general you can run:
8+
```bash
9+
docker run -p 8443:8443 aveltens/solid-server
10+
```
811

9-
If you want to experiment with the image and/or contribute to its development,
10-
please read the rest of this ReadMe.
12+
This will use auto-generated self-signed certificates and is not suited for production use.
1113

12-
## Run tests
14+
### Environment variables
1315

14-
```bash
15-
make test
16-
```
16+
All solid configuration flags can be set by an equivalent environment variable.
17+
The official solid-server documentation
18+
[explains them in detail](https://github.com/solid/node-solid-server#extra-flags-expert).
1719

18-
The first run might take a while, since the image has to be build. Follow up test runs will be faster.
20+
### Docker compose
1921

20-
## Start & stop locally
22+
For a productive setup you may want to use docker-compose. Example setups can be found
23+
in the [examples folder](./examples). Here is an overview of what is in there:
2124

22-
Build and run a local container named solid-server via
25+
#### Simple setup without proxy
2326

24-
```bash
25-
make start
26-
```
27+
`./examples/docker-compose.simple.yml`
2728

28-
and stop it via
29+
Run solid-server directly on HTTPS port 443 without a proxy in between.
30+
You will need to have your certificates ready and mount them into the container.
2931

30-
```bash
31-
make stop
32-
```
32+
#### Running solid behind nginx proxy
3333

34-
## Inspect & debug
34+
Coming soon...
3535

36-
To start a shell in a running container (started with `make start`) run `make attach`.
36+
#### Other setups
3737

38-
To just run a shell in the built image (without starting solid) run `make inspect`.
38+
The setup you need is not presented here? Feel free to ask, or provide a Pull Request
39+
with your solution.
3940

4041
## Feedback & Discussion
4142

4243
There is a [topic in the Solid Forum](https://forum.solidproject.org/t/official-solid-docker-image/748/5),
43-
you are welcome to join in.
44+
you are welcome to join in.
45+
46+
## Contributing
47+
48+
If you would like to contribute to the development of this image,
49+
see [CONTRIBUTING.md](./CONTRIBUTING.md)

examples/docker-compose.simple.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# This file is an example for running solid server directly on port 443 with
2+
# existing (letsencrypt) certificates and without reverse proxy.
3+
4+
# To use it adjust any line that is commented with (!):
5+
# 1. Change any occurrence of the domain `solid.example` to your actual domain
6+
# 2. Adjust the `latest` tag to a specific version you want to use.
7+
8+
version: '3.7'
9+
services:
10+
server:
11+
image: aveltens/solid-server:latest # (!) use specific version tag here
12+
13+
# this ensures automatic container start, when host reboots
14+
restart: always
15+
16+
ports:
17+
- 443:8443
18+
19+
volumes:
20+
# mount local directories to the container
21+
# (!) the host directories have to exist and be owned by UID 1000
22+
- /opt/solid/data:/opt/solid/data
23+
- /opt/solid/.db:/opt/solid/.db
24+
- /opt/solid/config:/opt/solid/config
25+
26+
# (!) mount existing TLS certificates, e.g. from letsencrypt
27+
- /etc/letsencrypt/live/solid.example/:/opt/solid/certs
28+
29+
environment:
30+
# (!) use your actual SOLID_SERVER_URI
31+
- "SOLID_SERVER_URI=https://solid.example"
32+
- "SOLID_SSL_KEY=/opt/solid/certs/key.pem"
33+
- "SOLID_SSL_CERT=/opt/solid/certs/fullchain.pem"

0 commit comments

Comments
 (0)