generated from coop-cloud/example
init copy/pasta
This commit is contained in:
parent
188e56f48e
commit
b41c95ed2f
18
README.md
18
README.md
|
@ -1,6 +1,6 @@
|
||||||
# {{ .Name }}
|
# snikket
|
||||||
|
|
||||||
{{ .Description }}
|
Chat that is simple, secure, and private.
|
||||||
|
|
||||||
<!-- metadata -->
|
<!-- metadata -->
|
||||||
|
|
||||||
|
@ -14,17 +14,3 @@
|
||||||
- **SSO**:
|
- **SSO**:
|
||||||
|
|
||||||
<!-- endmetadata -->
|
<!-- endmetadata -->
|
||||||
|
|
||||||
## Basic usage
|
|
||||||
|
|
||||||
1. Set up Docker Swarm and [`abra`]
|
|
||||||
2. Deploy [`coop-cloud/traefik`]
|
|
||||||
3. `abra app new ${REPO_NAME} --secrets` (optionally with `--pass` if you'd like
|
|
||||||
to save secrets in `pass`)
|
|
||||||
4. `abra app YOURAPPDOMAIN config` - be sure to change `$DOMAIN` to something that resolves to
|
|
||||||
your Docker swarm box
|
|
||||||
5. `abra app YOURAPPDOMAIN deploy`
|
|
||||||
6. Open the configured domain in your browser to finish set-up
|
|
||||||
|
|
||||||
[`abra`]: https://git.coopcloud.tech/coop-cloud/abra
|
|
||||||
[`coop-cloud/traefik`]: https://git.coopcloud.tech/coop-cloud/traefik
|
|
||||||
|
|
63
compose.yml
63
compose.yml
|
@ -2,30 +2,41 @@
|
||||||
version: "3.8"
|
version: "3.8"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
app:
|
snikket_proxy:
|
||||||
image: nginx:1.19.2
|
container_name: snikket-proxy
|
||||||
networks:
|
image: snikket/snikket-web-proxy:beta
|
||||||
- proxy
|
env_file: snikket.conf
|
||||||
deploy:
|
network_mode: host
|
||||||
restart_policy:
|
volumes:
|
||||||
condition: on-failure
|
- snikket_data:/snikket
|
||||||
labels:
|
- acme_challenges:/var/www/html/.well-known/acme-challenge
|
||||||
- "traefik.enable=true"
|
restart: "unless-stopped"
|
||||||
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=80"
|
|
||||||
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
|
||||||
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
|
||||||
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
|
||||||
## Redirect from EXTRA_DOMAINS to DOMAIN
|
|
||||||
#- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
|
|
||||||
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true"
|
|
||||||
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "curl", "-f", "http://localhost"]
|
|
||||||
interval: 30s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 10
|
|
||||||
start_period: 1m
|
|
||||||
|
|
||||||
networks:
|
snikket_certs:
|
||||||
proxy:
|
container_name: snikket-certs
|
||||||
external: true
|
image: snikket/snikket-cert-manager:beta
|
||||||
|
env_file: snikket.conf
|
||||||
|
volumes:
|
||||||
|
- snikket_data:/snikket
|
||||||
|
- acme_challenges:/var/www/.well-known/acme-challenge
|
||||||
|
restart: "unless-stopped"
|
||||||
|
|
||||||
|
snikket_portal:
|
||||||
|
container_name: snikket-portal
|
||||||
|
image: snikket/snikket-web-portal:beta
|
||||||
|
network_mode: host
|
||||||
|
env_file: snikket.conf
|
||||||
|
restart: "unless-stopped"
|
||||||
|
|
||||||
|
snikket_server:
|
||||||
|
container_name: snikket
|
||||||
|
image: snikket/snikket-server:beta
|
||||||
|
network_mode: host
|
||||||
|
volumes:
|
||||||
|
- snikket_data:/snikket
|
||||||
|
env_file: snikket.conf
|
||||||
|
restart: "unless-stopped"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
acme_challenges:
|
||||||
|
snikket_data:
|
||||||
|
|
Loading…
Reference in New Issue