support docker (+compose)
This commit is contained in:
@@ -1,15 +1,34 @@
|
||||
# what is this?
|
||||
|
||||
to play with cookies
|
||||
|
||||
this serves a nginx server on port 8443
|
||||
|
||||
# how to use?
|
||||
|
||||
## set up dns
|
||||
|
||||
> [!CAUTION]
|
||||
> you want to change your `/etc/hosts` (on \*nix)
|
||||
> you want to change your `/etc/hosts` (on \*nix; requires root)
|
||||
|
||||
```
|
||||
# /etc/hosts
|
||||
127.0.0.1 website.com a.website.com b.website.com sub.a.website.com
|
||||
```
|
||||
|
||||
the nginx config has these domains hardcoded. change them too if you want
|
||||
|
||||
## set up tls
|
||||
|
||||
run `make setup-tls`
|
||||
|
||||
you don't have `make`? well install it.
|
||||
|
||||
you don't have `openssl`? what insane operating system are you on? get openssl too.
|
||||
|
||||
|
||||
## change the cookie attributes
|
||||
|
||||
to add attributes, modify the file `cookieattr`
|
||||
```
|
||||
# cookieattr
|
||||
@@ -17,16 +36,31 @@ set $cookie_attr 'Secure; Domain=a.host.com; HttpOnly;';
|
||||
```
|
||||
note that the `;` at the end is the line terminator for nginx config and is necessary
|
||||
|
||||
next, install `just` for your system. take a look at <https://just.systems> if unsure how
|
||||
## start the server
|
||||
|
||||
get `podman` too while you're at it. you don't have `openssl`? what insane operating system are you on? get openssl too.
|
||||
### with compose
|
||||
|
||||
```console
|
||||
$ docker compose up -d
|
||||
$ docker compose exec cookies nginx -s reload
|
||||
$ # or create a make/just target to do that
|
||||
```
|
||||
|
||||
### with podman
|
||||
|
||||
```console
|
||||
$ just setup-tls
|
||||
$ just container
|
||||
$ # now you mess around with cookieattr
|
||||
$ # you look at https://a.website.com https://b.website.com https://sub.a.website.com
|
||||
$ # you can tell you need to tell your browser you want a taste of danger
|
||||
$ just reload
|
||||
$ # ^ do that when you make changes to server.conf
|
||||
$ # ^ do that when you make changes to config
|
||||
```
|
||||
|
||||
# what if sth doesn't work?
|
||||
|
||||
might be the `:z` label in the `volumes` in `docker-compose.yml`. remove it.
|
||||
e.g.
|
||||
```
|
||||
- ./tls:/etc/nginx/tls:ro
|
||||
```
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
services:
|
||||
cookies:
|
||||
image: nginx:alpine
|
||||
volumes:
|
||||
- ./conf.d/:/etc/nginx/conf.d:ro,z
|
||||
- ./tls:/etc/nginx/tls:ro,z
|
||||
- ./www:/srv/www:ro,z
|
||||
publish:
|
||||
- 8443:443
|
||||
|
||||
Reference in New Issue
Block a user