diff --git a/snikket/.env b/snikket/.env new file mode 100644 index 0000000..a67d401 --- /dev/null +++ b/snikket/.env @@ -0,0 +1,20 @@ +######## +# DOCKER + +SERVICES_DIR=".." +COMPOSE_FILE=${SERVICES_DIR}/uptimekuma/docker-compose.yml:${SERVICES_DIR}/uptimekuma/docker-compose.local.yml +# COMPOSE_PROJECT_NAME= + +## APP + +# UPTIMEKUMA_DOMAIN={{ UPTIMEKUMA_DOMAIN }} +UPTIMEKUMA_CONTAINER_NAME=uptimekuma +UPTIMEKUMA_VOLUME_NAME=uptimekuma +# UPTIMEKUMA_IMAGE= + +######### +# TRAEFIK + +# TRAEFIK_NETWORK_NAME= +# TRAEFIK_ROUTER_NAME= +# TRAEFIK_ENTRYPOINTS= diff --git a/snikket/README.md b/snikket/README.md new file mode 100644 index 0000000..2638557 --- /dev/null +++ b/snikket/README.md @@ -0,0 +1,22 @@ +# Snikket + +> Snikket est un service de messagerie instantanée basée sur le protocole XMPP destiné à être utilisé d'abord sur téléphone. + +## Clients + +Pour utiliser Snikket sur un téléphone Android, vous pouvez télécharger l'application sur F-droid (recommandé) ou sur le Google Play Store. + +Sur Linux, nous recommandons le client Dino (d'abord créer son compte Snikket via le téléphone). +Sur iPhone, vous pouvez aussi télécharger l'application Snikket qui sera cependant moins complète que sur Android. + +## Liens + +- [Site Officiel][site] +- [Documentation][documentation] +- [Code source][source] +- [Docker Hub][dockerhub] + +[site]: https://snikket.org +[source]: https://github.com/snikket-im/snikket-selfhosted +[documentation]: https://snikket.org/service/quickstart/ +[dockerhub]: https://hub.docker.com/r/snikket/snikket-server diff --git a/snikket/docker-compose.local.yml b/snikket/docker-compose.local.yml new file mode 100644 index 0000000..77c0bb2 --- /dev/null +++ b/snikket/docker-compose.local.yml @@ -0,0 +1,13 @@ +--- + +version: "3.8" + +services: + snikket_proxy: + network_mode: host + snikket_certs: + network_mode: host + snikket_portal: + network_mode: host + snikket_server: + network_mode: host diff --git a/snikket/docker-compose.traefik.yml b/snikket/docker-compose.traefik.yml new file mode 100644 index 0000000..1f53672 --- /dev/null +++ b/snikket/docker-compose.traefik.yml @@ -0,0 +1,15 @@ +--- + +version: "3.8" + +networks: + default: + name: ${TRAEFIK_NETWORK_NAME:-traefik} + +services: + snikket_proxy: + labels: + - traefik.enable=true + - traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik} + - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-snikket}.rule=Host(`${SNIKKET_DOMAIN:?err}`) + - traefik.http.routers.${TRAEFIK_ROUTER_NAME:-snikket}.entrypoints=${TRAEFIK_ENTRYPOINTS:-web} diff --git a/snikket/docker-compose.yml b/snikket/docker-compose.yml new file mode 100644 index 0000000..3d94052 --- /dev/null +++ b/snikket/docker-compose.yml @@ -0,0 +1,46 @@ +--- + +version: "3.3" + +services: + snikket_proxy: + container_name: ${SNIKKET_CONTAINER_NAME:-snikket}_proxy + image: ${SNIKKET_WEB_PROXY_IMAGE:-snikket/snikket-web-proxy:beta} + environment: + - SNIKKET_DOMAIN: ${SNIKKET_DOMAIN:?err} + - SNIKKET_ADMIN_EMAIL: ${SNIKKET_ADMIN_EMAIL:?err} + volumes: + - snikket_data:/snikket + - acme_challenges:/var/www/html/.well-known/acme-challenge + restart: "unless-stopped" + snikket_certs: + container_name: ${SNIKKET_CONTAINER_NAME:-snikket}-certs + image: ${SNIKKET_CERT_MANAGER_IMAGE:-snikket/snikket-cert-manager:beta} + environment: + - SNIKKET_DOMAIN: ${SNIKKET_DOMAIN:?err} + - SNIKKET_ADMIN_EMAIL: ${SNIKKET_ADMIN_EMAIL:?err} + volumes: + - snikket_data:/snikket + - acme_challenges:/var/www/.well-known/acme-challenge + restart: "unless-stopped" + snikket_portal: + container_name: ${SNIKKET_CONTAINER_NAME:-snikket}-portal + image: ${SNIKKET_WEB_PORTAL_IMAGE:-snikket/snikket-web-portal:beta} + environment: + - SNIKKET_DOMAIN: ${SNIKKET_DOMAIN:?err} + - SNIKKET_ADMIN_EMAIL: ${SNIKKET_ADMIN_EMAIL:?err} + restart: "unless-stopped" + + snikket_server: + container_name: ${SNIKKET_CONTAINER_NAME:-snikket} + image: ${SNIKKET_SERVER_IMAGE:-snikket/snikket-server:beta} + volumes: + - snikket_data:/snikket + environment: + - SNIKKET_DOMAIN: ${SNIKKET_DOMAIN:?err} + - SNIKKET_ADMIN_EMAIL: ${SNIKKET_ADMIN_EMAIL:?err} + restart: "unless-stopped" + +volumes: + acme_challenges: + snikket_data: