Compare commits
15 Commits
464ddde48d
...
main
Author | SHA1 | Date |
---|---|---|
3wc | 86683d490b | |
3wc | e36aab9ad4 | |
3wc | b9ff088a60 | |
3wc | 6c4f6682c6 | |
3wc | f16947b9e4 | |
3wc | b0fb642e6d | |
3wc | 449cb8eb79 | |
3wc | 4f6f75d166 | |
3wc | 048d103b11 | |
3wc | fb9ecab56b | |
3wc | c3f559ba57 | |
3wc | b36734481b | |
Michael Williams | 9a7df0a536 | |
decentral1se | 8b80a1042c | |
Comrade Renovate Bot | 9b0c204c80 |
|
@ -0,0 +1,38 @@
|
|||
---
|
||||
kind: pipeline
|
||||
name: deploy to swarm-test.autonomic.zone
|
||||
steps:
|
||||
- name: deployment
|
||||
image: git.coopcloud.tech/coop-cloud/stack-ssh-deploy:latest
|
||||
settings:
|
||||
host: swarm-test.autonomic.zone
|
||||
stack: go-ssb-room
|
||||
generate_secrets: true
|
||||
purge: true
|
||||
deploy_key:
|
||||
from_secret: drone_ssh_swarm_test
|
||||
networks:
|
||||
- proxy
|
||||
environment:
|
||||
DOMAIN: go-ssb-room.swarm-test.autonomic.zone
|
||||
STACK_NAME: go-ssb-room
|
||||
LETS_ENCRYPT_ENV: production
|
||||
trigger:
|
||||
branch:
|
||||
- main
|
||||
---
|
||||
kind: pipeline
|
||||
name: generate recipe catalogue
|
||||
steps:
|
||||
- name: release a new version
|
||||
image: plugins/downstream
|
||||
settings:
|
||||
server: https://build.coopcloud.tech
|
||||
token:
|
||||
from_secret: drone_abra-bot_token
|
||||
fork: true
|
||||
repositories:
|
||||
- coop-cloud/auto-recipes-catalogue-json
|
||||
|
||||
trigger:
|
||||
event: tag
|
25
README.md
25
README.md
|
@ -4,13 +4,13 @@ Scuttlebutt room server, implemented in Go
|
|||
|
||||
<!-- metadata -->
|
||||
* **Category**: Utilities
|
||||
* **Status**: ❹💣
|
||||
* **Image**: [`3wordchant/go-ssb-room`](https://hub.docker.com/r/3wordchant/go-ssb-room), ❹💣, own
|
||||
* **Healthcheck**: ❌
|
||||
* **Backups**: ❌
|
||||
* **Status**: 0, work-in-progress
|
||||
* **Image**: [`git.coopcloud.tech/coop-cloud-chaos-patchs/go-ssb-room`](https://git.coopcloud.tech/coop-cloud-chaos-patchs/go-ssb-room/packages), 0, own
|
||||
* **Healthcheck**: No
|
||||
* **Backups**: No
|
||||
* **Email**: N/A
|
||||
* **Tests**: ❌
|
||||
* **SSO**: ❌
|
||||
* **Tests**: No
|
||||
* **SSO**: No
|
||||
<!-- endmetadata -->
|
||||
|
||||
## Basic usage
|
||||
|
@ -18,9 +18,18 @@ Scuttlebutt room server, implemented in Go
|
|||
1. Set up Docker Swarm and [`abra`]
|
||||
2. Deploy [`coop-cloud/traefik`]
|
||||
3. `abra app new go-ssb-room`
|
||||
4. `abra app YOURAPPDOMAIN config` - be sure to change `$DOMAIN` to something that resolves to
|
||||
4. `abra app config YOURAPPDOMAIN` - be sure to change `$DOMAIN` to something that resolves to
|
||||
your Docker swarm box
|
||||
5. `abra app YOURAPPDOMAIN deploy`
|
||||
5. `abra app deploy YOURAPPDOMAIN`
|
||||
6. To set someone (yourself?) as an initial user, run
|
||||
```
|
||||
abra app YOURAPPDOMAIN run app "/app/cmd/insert-user/insert-user -repo /app/data @your-ssb-cryptkey.edXXX"
|
||||
```
|
||||
|
||||
## Additional notes
|
||||
|
||||
For room aliases, you'll need wildcard SSL; see
|
||||
[`coop-cloud/traefik:README.md`](https://git.coopcloud.tech/coop-cloud/traefik/#configuring-wildcard-ssl-using-dns).
|
||||
|
||||
[`abra`]: https://git.autonomic.zone/autonomic-cooperative/abra
|
||||
[`coop-cloud/traefik`]: https://git.autonomic.zone/coop-cloud/traefik
|
||||
|
|
19
compose.yml
19
compose.yml
|
@ -1,31 +1,36 @@
|
|||
---
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
app:
|
||||
image: 3wordchant/go-ssb-room:2.0.3
|
||||
image: git.coopcloud.tech/coop-cloud-chaos-patchs/go-ssb-room:577529e
|
||||
networks:
|
||||
- proxy
|
||||
environment:
|
||||
- DOMAIN
|
||||
- HTTPS_DOMAIN=$DOMAIN
|
||||
- ALIASES_AS_SUBDOMAINS=true
|
||||
- REPO=/ssb-go-room-secrets
|
||||
volumes:
|
||||
- "data:/app/data"
|
||||
- "data:/ssb-go-room-secrets"
|
||||
deploy:
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=3000"
|
||||
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
||||
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`) || HostRegexp(`{subdomain:\\w+}.${DOMAIN}`)"
|
||||
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
||||
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect-aliases@docker"
|
||||
- "traefik.http.middlewares.${STACK_NAME}-redirect-aliases.redirectregex.regex=^https://(\\w+)\\.${DOMAIN}/(.*)"
|
||||
- "traefik.http.middlewares.${STACK_NAME}-redirect-aliases.redirectregex.replacement=https://${DOMAIN}/alias/$${1}$${2}"
|
||||
- "traefik.tcp.routers.${STACK_NAME}-muxrpc.rule=HostSNI(`*`)"
|
||||
- "traefik.tcp.routers.${STACK_NAME}-muxrpc.entrypoints=ssb-muxrpc"
|
||||
- "traefik.tcp.services.${STACK_NAME}-muxrpc.loadbalancer.server.port=8008"
|
||||
|
||||
- "traefik.http.routers.${STACK_NAME}.tls.domains[0].main=${DOMAIN}"
|
||||
- "traefik.http.routers.${STACK_NAME}.tls.domains[0].sans=*.${DOMAIN}"
|
||||
- coop-cloud.${STACK_NAME}.version=0.1.1+577529e
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
|
||||
volumes:
|
||||
data:
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
|
||||
}
|
Loading…
Reference in New Issue