mirror of
https://codeberg.org/icewind/haze.git
synced 2026-06-03 09:04:12 +02:00
readme tweaks and example user service
This commit is contained in:
parent
e3161f34ae
commit
4f6b1fbd9b
2 changed files with 35 additions and 25 deletions
50
README.md
50
README.md
|
|
@ -6,7 +6,7 @@ Easy setup and management of Nextcloud test instances using docker
|
||||||
|
|
||||||
## What
|
## What
|
||||||
|
|
||||||
`haze` provides an easy way to setup Nextcloud test instances with a choice of
|
`haze` provides an easy way to set up Nextcloud test instances with a choice of
|
||||||
php version, database server, optional s3 or ldap setup and more.
|
php version, database server, optional s3 or ldap setup and more.
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
@ -71,29 +71,29 @@ mode and can be used for debugging php itself with gdb.
|
||||||
|
|
||||||
Additionally, you can use the following options when starting an instance:
|
Additionally, you can use the following options when starting an instance:
|
||||||
|
|
||||||
- `s3`: setup an S3 server and configure to Nextcloud to use it as primary
|
- `s3`: set up an S3 server and configure to Nextcloud to use it as primary
|
||||||
storage.
|
storage.
|
||||||
- `<path to app.tar.gz>`: by specifying the path to an app package this package
|
- `<path to app.tar.gz>`: by specifying the path to an app package this package
|
||||||
will be extracted into the apps. directory of the new instance (overwriting
|
will be extracted into the apps. directory of the new instance (overwriting
|
||||||
any existing app code). This can be used to quickly test a packaged app.
|
any existing app code). This can be used to quickly test a packaged app.
|
||||||
- `ldap`: setup an LDAP server.
|
- `ldap`: set up an LDAP server.
|
||||||
- `office`: setup a Nextcloud Office server.
|
- `office`: set up a Nextcloud Office server.
|
||||||
- `onlyoffice` setup an onlyoffice document server.
|
- `onlyoffice` setup an onlyoffice document server.
|
||||||
- `push` setup [client push](https://github.com/nextcloud/notify_push).
|
- `push` set up [client push](https://github.com/nextcloud/notify_push).
|
||||||
- `smb`: setup a samba server for external storage use.
|
- `smb`: set up a samba server for external storage use.
|
||||||
- `dav`: setup a WebDAV server for external storage use.
|
- `dav`: set up a WebDAV server for external storage use.
|
||||||
- `sftp`: setup a SFTP server for external storage use.
|
- `sftp`: set up a SFTP server for external storage use.
|
||||||
- `kaspersky`: setup a kaspersky scan engine server in http mode. ( Requires
|
- `kaspersky`: set up a kaspersky scan engine server in http mode. ( Requires
|
||||||
[manually setting up the image](https://github.com/icewind1991/kaspersky-docker))
|
[manually setting up the image](https://github.com/icewind1991/kaspersky-docker))
|
||||||
- `kaspersky-icap`: setup a kaspersky scan engine server in ICAP mode.
|
- `kaspersky-icap`: setup a kaspersky scan engine server in ICAP mode.
|
||||||
- `clamav`: setup a local clam av scanner in executable mode.
|
- `clamav`: set up a local clam av scanner in executable mode.
|
||||||
- `clamav-socket`: setup a clam av scanner in socket mode.
|
- `clamav-socket`: set up a clam av scanner in socket mode.
|
||||||
- `clamav-icap`: setup a clam av scanner in ICAP mode.
|
- `clamav-icap`: set up a clam av scanner in ICAP mode.
|
||||||
- `clamav-icap-tls`: setup a clam av scanner in ICAP mode with TLS encryption.
|
- `clamav-icap-tls`: set up a clam av scanner in ICAP mode with TLS encryption.
|
||||||
- `oc`: start an ownCloud instance in the same network.
|
- `oc`: start an ownCloud instance in the same network.
|
||||||
- `imaginary`: start an Imaginary service and configure it for preview
|
- `imaginary`: start an Imaginary service and configure it for preview
|
||||||
generation.
|
generation.
|
||||||
- `mail`: start an [smtp4dev](https://github.com/rnwood/smtp4dev) server and
|
- `mail`: start a [smtp4dev](https://github.com/rnwood/smtp4dev) server and
|
||||||
configure it the mail server.
|
configure it the mail server.
|
||||||
- `redis`: start a separate container for redis.
|
- `redis`: start a separate container for redis.
|
||||||
- `redis-tls`: connect to redis over TLS.
|
- `redis-tls`: connect to redis over TLS.
|
||||||
|
|
@ -105,7 +105,7 @@ Additionally, you can use the following options when starting an instance:
|
||||||
haze test [database] [php-version] [path]
|
haze test [database] [php-version] [path]
|
||||||
```
|
```
|
||||||
|
|
||||||
Where `path` is a file or folder to run phpunit in, relative to the sources
|
Where `path` is a file or folder to run PHPUnit in, relative to the sources
|
||||||
root.
|
root.
|
||||||
|
|
||||||
### List running instances
|
### List running instances
|
||||||
|
|
@ -129,7 +129,7 @@ haze clean
|
||||||
## Controlling running instances
|
## Controlling running instances
|
||||||
|
|
||||||
The following commands run against the most recently started instance and allow
|
The following commands run against the most recently started instance and allow
|
||||||
optionally providing a `match` to select a specific instance by it's name.
|
optionally providing a `match` to select a specific instance by its name.
|
||||||
|
|
||||||
#### Open an instance
|
#### Open an instance
|
||||||
|
|
||||||
|
|
@ -206,7 +206,7 @@ haze [match] env <cmd> [args]
|
||||||
Runs the provided command with `NEXTCLOUD_URL`, `DATABASE_URL` and `REDIS_URL`
|
Runs the provided command with `NEXTCLOUD_URL`, `DATABASE_URL` and `REDIS_URL`
|
||||||
environment variables set for the matched instance.
|
environment variables set for the matched instance.
|
||||||
|
|
||||||
This is intented to run a local
|
This is intended to run a local
|
||||||
[push daemon](https://github.com/nextcloud/notify_push) against an instance.
|
[push daemon](https://github.com/nextcloud/notify_push) against an instance.
|
||||||
|
|
||||||
#### Update the container images
|
#### Update the container images
|
||||||
|
|
@ -254,19 +254,19 @@ Performs a pull in all git repositories within the apps folder.
|
||||||
|
|
||||||
Multiple instances can reach each other by using their instance name as domain
|
Multiple instances can reach each other by using their instance name as domain
|
||||||
name to allow for testing federation between instances. Alternatively, you can
|
name to allow for testing federation between instances. Alternatively, you can
|
||||||
setup the haze proxy and the proxied domains to get https support between
|
set up the haze proxy and the proxied domains to get https support between
|
||||||
instances.
|
instances.
|
||||||
|
|
||||||
## Proxy
|
## Proxy
|
||||||
|
|
||||||
By default, instances can be accessed by their IP. In order to get more
|
By default, instances can be accessed by their IP. In order to get more
|
||||||
memorable urls and allow supporting https, haze comes with a builtin reverse
|
memorable URLs and allow supporting https, haze comes with a builtin reverse
|
||||||
proxy to allow using a wildcard domain.
|
proxy to allow using a wildcard domain.
|
||||||
|
|
||||||
### Requirements
|
### Requirements
|
||||||
|
|
||||||
- A domain name you can set wildcard DNS records for
|
- A domain name you can set wildcard DNS records for
|
||||||
- A reverse proxy like nginx or apache
|
- A reverse proxy like nginx or Apache
|
||||||
- (optionally) a wildcard ssl certificate (can be acquiring using letsencrypt
|
- (optionally) a wildcard ssl certificate (can be acquiring using letsencrypt
|
||||||
and dns verification)
|
and dns verification)
|
||||||
|
|
||||||
|
|
@ -274,9 +274,9 @@ proxy to allow using a wildcard domain.
|
||||||
|
|
||||||
- Set a DNS record for `*.haze.exmaple.com` and `haze.example.com` pointing to
|
- Set a DNS record for `*.haze.exmaple.com` and `haze.example.com` pointing to
|
||||||
`127.0.0.1` or your development machine if you need to access it from other devices.
|
`127.0.0.1` or your development machine if you need to access it from other devices.
|
||||||
- Set the `proxy` configuration with your domain and desired listen endpoint
|
- Set the `proxy` configuration with your domain and desired listen endpoint.
|
||||||
- Setup a service to run `haze proxy` in the background as your own user. A
|
- Set up a service to run `haze proxy` in the background as your own user. A
|
||||||
systemd user service is recommended.
|
systemd user service is recommended (see [haze.service](./haze.service) for an example).
|
||||||
- Configure your reverse proxy of choice to proxy `*.haze.example.com` and
|
- Configure your reverse proxy of choice to proxy `*.haze.example.com` and
|
||||||
`haze.example.com` to the proxy's listen endpoint
|
`haze.example.com` to the proxy's listen endpoint
|
||||||
- (optional) acquire a wildcard ssl certificate for your domain and set your
|
- (optional) acquire a wildcard ssl certificate for your domain and set your
|
||||||
|
|
@ -286,7 +286,7 @@ proxy to allow using a wildcard domain.
|
||||||
|
|
||||||
### Usage
|
### Usage
|
||||||
|
|
||||||
When the proxy is configured, generated urls for the instances will use a
|
When the proxy is configured, generated URLs for the instances will use a
|
||||||
subdomain of the configured domain, e.g. the `rolling-bees` instance will be
|
subdomain of the configured domain, e.g. the `rolling-bees` instance will be
|
||||||
available at `rolling-bees.haze.example.com`. Additionally, `haze.example.com`
|
available at `rolling-bees.haze.example.com`. Additionally, `haze.example.com`
|
||||||
will automatically point to the last created instance.
|
will automatically point to the last created instance.
|
||||||
|
|
@ -322,7 +322,7 @@ read_only = true
|
||||||
|
|
||||||
[proxy] # optional
|
[proxy] # optional
|
||||||
address = "haze.example.com" # base domain
|
address = "haze.example.com" # base domain
|
||||||
https = true # Is the proxy behind an https terminating proxy
|
https = true # Is the proxy behind a https terminating proxy
|
||||||
listen = "/run/haze/haze.sock" # either a unix socket path
|
listen = "/run/haze/haze.sock" # either a unix socket path
|
||||||
#listen = "127.0.0.1:8080" # or a socket address
|
#listen = "127.0.0.1:8080" # or a socket address
|
||||||
|
|
||||||
|
|
|
||||||
10
haze.service
Normal file
10
haze.service
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/bin/haze proxy
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=10
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=Haze reverse proxy
|
||||||
Loading…
Add table
Add a link
Reference in a new issue