Compare commits
12 Commits
fix_hedged
...
8168ce327b
Author | SHA1 | Date | |
---|---|---|---|
8168ce327b | |||
50f2b22523 | |||
88af04b233 | |||
671d8e0d6d | |||
d1b92e0a17 | |||
6c4c387234 | |||
f204561f5f | |||
2fbb7ca0ca | |||
9f4327cae2 | |||
0d52bdfd59 | |||
c8f242428a | |||
b22d545ed6 |
13
README.md
13
README.md
@ -1,6 +1,6 @@
|
|||||||
# Services
|
# Services
|
||||||
|
|
||||||
Vous trouverez dans ce dépôt l'ensemble des services Open Source que j'utilise et mets à jour quotidiennement.
|
Vous trouverez dans ce dépôt l'ensemble des services Open Source que RésiLien utilise et mets à jour de façon presque hebdomadaire. L'ensemble des variable d'environnement enregistré dans les fichiers `.env` sont présent pour une logique d'exemple et n'ont jamais été utilisé en production. Nous vous conseillons de jamais le faire si vous utilisez le dépôt.
|
||||||
|
|
||||||
## Liste des services
|
## Liste des services
|
||||||
|
|
||||||
@ -8,21 +8,22 @@ Vous trouverez dans ce dépôt l'ensemble des services Open Source que j'utilise
|
|||||||
|
|
||||||
- [HedgeDoc](./hedgedoc) : Prise de note en Markdown collaborative en temps réel
|
- [HedgeDoc](./hedgedoc) : Prise de note en Markdown collaborative en temps réel
|
||||||
- [Nextcloud](./nextcloud) : Site d'hébergement de fichiers et une plateforme de collaboration
|
- [Nextcloud](./nextcloud) : Site d'hébergement de fichiers et une plateforme de collaboration
|
||||||
|
- [Directus](./directus) : Permet d'administrer une base de données
|
||||||
|
|
||||||
### Pour les devs / ops
|
### Pour les devs / ops
|
||||||
|
|
||||||
- [Drone](./drone) `en pause` : Un service d'intégration continue
|
- [Drone](./drone) ⏸️ `en pause` : Un service d'intégration continue
|
||||||
- [Gitea](./gitea) : Un service Git auto-hébergé très simple à installer et à utiliser. Il est similaire à GitHub, Bitbucket ou Gitlab.
|
- [Gitea](./gitea) : Un service Git auto-hébergé très simple à installer et à utiliser. Il est similaire à GitHub, Bitbucket ou Gitlab.
|
||||||
- [Grafana](./grafana) : Un outil de supervision simple et élégant
|
- [Grafana](./grafana) : Un outil de supervision simple et élégant
|
||||||
- [PostgreSQL](./postgres) : PostgreSQL est un système de gestion de base de données relationnelle et objet.
|
- [PostgreSQL](./postgres) : PostgreSQL est un système de gestion de base de données relationnelle et objet.
|
||||||
- [Prometheus](./prometheus) : Un logiciel de surveillance informatique
|
- [Prometheus](./prometheus) : Un logiciel de surveillance informatique
|
||||||
- [Docker Registry](./registry) : Une application qui permet de distribuer des images Docker
|
- [Docker Registry](./registry) : Une application qui permet de distribuer des images Docker
|
||||||
- [Traefik](./traefik) : Traefik, un reverse-proxy pour vos conteneurs
|
- [Traefik](./traefik) : Traefik, un reverse-proxy pour vos conteneurs
|
||||||
- [Watchtower](./watchtower) `en pause` : Automatiser la mise à jour d'image docker
|
- [Watchtower](./watchtower) : Automatiser la mise à jour d'image docker
|
||||||
|
|
||||||
## Comment ça marche ?
|
## Comment ça marche ?
|
||||||
|
|
||||||
Vous pouvez réutiliser ce dépôt pour votre infrastructure. J'ai mis une documentation dans le dossier [_examples_](./examples).
|
Vous pouvez réutiliser ce dépôt pour vos services, une documentation dans le dossier [_examples_](./examples).
|
||||||
|
|
||||||
### Docker et Docker Compose
|
### Docker et Docker Compose
|
||||||
|
|
||||||
@ -35,6 +36,8 @@ Voici les commandes de base :
|
|||||||
|
|
||||||
### ./run
|
### ./run
|
||||||
|
|
||||||
|
> 🚧 RésiLien a changé de façon de faire et nous n'utilisons plus les scripts `run`. Nous passons maintenant par Ansible. Les scripts ne seront plus mise à jour et finirons peut être par être supprimé. Utilisez les avec précaution.
|
||||||
|
|
||||||
Vous pourrez trouver dans les dossiers des services un script bash `run`. Le principe est de faciliter la maintenance de chaque service.
|
Vous pourrez trouver dans les dossiers des services un script bash `run`. Le principe est de faciliter la maintenance de chaque service.
|
||||||
|
|
||||||
Vous pouvez lancer le script sans paramètre pour afficher la documentation du script.
|
Vous pouvez lancer le script sans paramètre pour afficher la documentation du script.
|
||||||
@ -55,6 +58,8 @@ En haut de chaque script il y a `set -eu` qui veut dire :
|
|||||||
|
|
||||||
## Tâches
|
## Tâches
|
||||||
|
|
||||||
|
> 🚧 Ses tâches ne sont pas à jour
|
||||||
|
|
||||||
Général :
|
Général :
|
||||||
|
|
||||||
- [ ] Mettre en place une rotation des logs
|
- [ ] Mettre en place une rotation des logs
|
||||||
|
30
directus/.env
Normal file
30
directus/.env
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
########
|
||||||
|
# DOCKER
|
||||||
|
|
||||||
|
#DOCKER_CONTEXT=
|
||||||
|
#DOCKER_HOST=
|
||||||
|
SERVICES_DIR=..
|
||||||
|
COMPOSE_FILE=./docker-compose.yml:${SERVICES_DIR}/postgres/docker-compose.yml:${SERVICES_DIR}/redis/docker-compose.yml:${SERVICES_DIR}/traefik/docker-compose.network.yml
|
||||||
|
#COMPOSE_PROJECT_NAME=
|
||||||
|
|
||||||
|
##########
|
||||||
|
# DIRECTUS
|
||||||
|
#
|
||||||
|
# see https://github.com/directus/directus/blob/main/api/example.env
|
||||||
|
|
||||||
|
DIRECTUS_DOMAIN=directus.cool.life
|
||||||
|
DIRECTUS_KEY=255d861b-5ea1-5996-9aa3-922530ec40b1
|
||||||
|
DIRECTUS_SECRET=6116487b-cda1-52c2-b5b5-c8022c45e263
|
||||||
|
DIRECTUS_ADMIN_EMAIL=admin@example.com
|
||||||
|
DIRECTUS_ADMIN_PASSWORD=d1r3ctu5
|
||||||
|
# DIRECTUS_PUID=
|
||||||
|
# DIRECTUS_PGID=
|
||||||
|
|
||||||
|
##########
|
||||||
|
# POSTGRES
|
||||||
|
|
||||||
|
POSTGRES_USER=user-example
|
||||||
|
POSTGRES_PASSWORD=password-example
|
||||||
|
POSTGRES_DB=postgres-database-name-example
|
||||||
|
POSTGRES_CONTAINER_NAME=directus-postgres
|
||||||
|
POSTGRES_VOLUME_NAME=directus-postgres
|
18
directus/README.md
Normal file
18
directus/README.md
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Directus
|
||||||
|
|
||||||
|
> Directus wraps your new or existing SQL database with a realtime GraphQL+REST API for developers, and an intuitive admin app for non-technical users.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
[De nombreuses variables d'environnement][documentation] peuvent être précisé pour configurer Directus.
|
||||||
|
|
||||||
|
## Liens
|
||||||
|
|
||||||
|
- [Site officiel][website]
|
||||||
|
- [Github][github]
|
||||||
|
- [L'image Docker][docker]
|
||||||
|
|
||||||
|
[website]: https://directus.io/
|
||||||
|
[docker]: https://hub.docker.com/r/directus/directus
|
||||||
|
[github]: https://github.com/directus/directus/
|
||||||
|
[documentation]: https://docs.directus.io/reference/environment-variables/
|
46
directus/docker-compose.yml
Normal file
46
directus/docker-compose.yml
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
---
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
directus:
|
||||||
|
name: ${DIRECTUS_VOLUME_NAME:-directus}
|
||||||
|
|
||||||
|
services:
|
||||||
|
directus:
|
||||||
|
container_name: ${DIRECTUS_CONTAINER_NAME:-directus}
|
||||||
|
image: ${DIRECTUS_IMAGE:-directus/directus:9.0.0-rc.95}
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- directus:/directus/uploads
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
- redis
|
||||||
|
environment:
|
||||||
|
KEY: ${DIRECTUS_KEY:?err}
|
||||||
|
SECRET: ${DIRECTUS_SECRET:?err}
|
||||||
|
TELEMETRY: false
|
||||||
|
|
||||||
|
ADMIN_EMAIL: ${DIRECTUS_ADMIN_EMAIL:?err}
|
||||||
|
ADMIN_PASSWORD: ${DIRECTUS_ADMIN_PASSWORD:?err}
|
||||||
|
PUBLIC_URL: ${DIRECTUS_PUBLIC_URL:?err}
|
||||||
|
|
||||||
|
DB_CLIENT: 'pg'
|
||||||
|
DB_HOST: ${POSTGRES_CONTAINER_NAME:-postgres}
|
||||||
|
DB_PORT: '5432'
|
||||||
|
DB_DATABASE: ${POSTGRES_DB:?err}
|
||||||
|
DB_USER: ${POSTGRES_USER:?err}
|
||||||
|
DB_PASSWORD: ${POSTGRES_PASSWORD:?err}
|
||||||
|
|
||||||
|
CACHE_ENABLED: 'true'
|
||||||
|
CACHE_STORE: 'redis'
|
||||||
|
CACHE_REDIS: 'redis://${REDIS_CONTAINER_NAME:-redis}:6379'
|
||||||
|
|
||||||
|
PUID: ${DIRECTUS_PUID:-1000}
|
||||||
|
PGID: ${DIRECTUS_PGID:-1000}
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.docker.network=${TRAEFIK_NETWORK_NAME:-traefik}
|
||||||
|
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-directus}.rule=Host(`${DIRECTUS_DOMAIN:?err}`)
|
||||||
|
- traefik.http.routers.${TRAEFIK_ROUTER_NAME:-directus}.entrypoints=web
|
@ -13,3 +13,5 @@ Si nous allons dans le dossier `traefik.cool.life` par example, il est possible
|
|||||||
## DOCKER_HOST
|
## DOCKER_HOST
|
||||||
|
|
||||||
Si vous gérez des serveurs à distance, il est possible d'utiliser la variable `DOCKER_HOST` dans votre fichier `.env` pour expliquer que le service doit s’exécuter sur ce serveur.
|
Si vous gérez des serveurs à distance, il est possible d'utiliser la variable `DOCKER_HOST` dans votre fichier `.env` pour expliquer que le service doit s’exécuter sur ce serveur.
|
||||||
|
|
||||||
|
> Résilien utilise maintenant ce système avec une génération automatique des fichiers .env à l'aide d'Ansible, nous permettant de facilement déployer un nouveau service, de le déplacer de serveur
|
||||||
|
@ -7,7 +7,7 @@ volumes:
|
|||||||
services:
|
services:
|
||||||
gitea:
|
gitea:
|
||||||
container_name: ${GITEA_CONTAINER_NAME:-gitea}
|
container_name: ${GITEA_CONTAINER_NAME:-gitea}
|
||||||
image: ${GITEA_IMAGE:-gitea/gitea:1.15.2}
|
image: ${GITEA_IMAGE:-gitea/gitea:1.15.5}
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
# - USER_UID=1000
|
# - USER_UID=1000
|
||||||
|
@ -12,7 +12,7 @@ volumes:
|
|||||||
services:
|
services:
|
||||||
grafana:
|
grafana:
|
||||||
container_name: ${GRAFANA_CONTAINER_NAME:-grafana}
|
container_name: ${GRAFANA_CONTAINER_NAME:-grafana}
|
||||||
image: ${GRAFANA_IMAGE:-grafana/grafana:8.1.3}
|
image: ${GRAFANA_IMAGE:-grafana/grafana:8.1.5}
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- grafana:/var/lib/grafana
|
- grafana:/var/lib/grafana
|
||||||
|
@ -11,7 +11,7 @@ La configuration est séparé en 3 fichiers :
|
|||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
[De nombreuses variables d'environnement][documentation] peuvent être précisé pour configurer HedgeDoc.
|
[De nombreuses variables d'environnement][documentation] peuvent être précisé pour configurer HedgeDoc, elles n'ont pas tous été intégrées.
|
||||||
|
|
||||||
Modifier les variables dans le fichier [`.env`](../examples/hedgedoc.example.com/.env).
|
Modifier les variables dans le fichier [`.env`](../examples/hedgedoc.example.com/.env).
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ volumes:
|
|||||||
services:
|
services:
|
||||||
hedgedoc:
|
hedgedoc:
|
||||||
container_name: ${HEDGEDOC_CONTAINER_NAME:-hedgedoc}
|
container_name: ${HEDGEDOC_CONTAINER_NAME:-hedgedoc}
|
||||||
image: ${HEDGEDOC_IMAGE:-linuxserver/hedgedoc:1.8.2-ls23}
|
image: ${HEDGEDOC_IMAGE:-linuxserver/hedgedoc:1.9.0-ls31}
|
||||||
restart: always
|
restart: always
|
||||||
depends_on:
|
depends_on:
|
||||||
- postgres
|
- postgres
|
||||||
@ -23,8 +23,11 @@ services:
|
|||||||
NODE_ENV: ${NODE_ENV:-development} # `production` or `development`
|
NODE_ENV: ${NODE_ENV:-development} # `production` or `development`
|
||||||
CMD_PROTOCOL_USESSL: ${CMD_PROTOCOL_USESSL:-false}
|
CMD_PROTOCOL_USESSL: ${CMD_PROTOCOL_USESSL:-false}
|
||||||
CMD_ALLOW_GRAVATAR: ${CMD_ALLOW_GRAVATAR:-true}
|
CMD_ALLOW_GRAVATAR: ${CMD_ALLOW_GRAVATAR:-true}
|
||||||
|
CMD_ALLOW_ANONYMOUS: ${CMD_ALLOW_ANONYMOUS:-true}
|
||||||
|
CMD_ALLOW_ANONYMOUS_EDITS: ${CMD_ALLOW_ANONYMOUS_EDITS:-false}
|
||||||
CMD_ALLOW_FREEURL: ${CMD_ALLOW_FREEURL:-false}
|
CMD_ALLOW_FREEURL: ${CMD_ALLOW_FREEURL:-false}
|
||||||
CMD_ALLOW_EMAIL_REGISTER: ${CMD_ALLOW_EMAIL_REGISTER:-true}
|
CMD_REQUIRE_FREEURL_AUTHENTICATION: ${CMD_REQUIRE_FREEURL_AUTHENTICATION:-false}
|
||||||
CMD_DEFAULT_PERMISSION: ${CMD_DEFAULT_PERMISSION:-editable}
|
CMD_DEFAULT_PERMISSION: ${CMD_DEFAULT_PERMISSION:-editable}
|
||||||
|
CMD_ALLOW_EMAIL_REGISTER: ${CMD_ALLOW_EMAIL_REGISTER:-true}
|
||||||
PGID: ${PGID:-1000}
|
PGID: ${PGID:-1000}
|
||||||
PUID: ${PUID:-1000}
|
PUID: ${PUID:-1000}
|
||||||
|
@ -10,10 +10,12 @@
|
|||||||
>
|
>
|
||||||
> -- <cite>[Github][github]</cite>
|
> -- <cite>[Github][github]</cite>
|
||||||
|
|
||||||
On peut trouver [la documentation ici][documentation].
|
On peut trouver [la documentation ici][documentation] en anglais ou ici pour la [traduction française](https://doc-nextcloud-fr.indie.host/fr/) fait par [IndieHosters](https://indiehosters.net/) et [Paquerette](https://paquerette.eu/).
|
||||||
|
|
||||||
## Aide
|
## Aide
|
||||||
|
|
||||||
|
Exemple de commande :
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
docker exec --user www-data -it nextcloud bash
|
docker exec --user www-data -it nextcloud bash
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ networks:
|
|||||||
services:
|
services:
|
||||||
traefik:
|
traefik:
|
||||||
container_name: ${TRAEFIK_CONTAINER_NAME:-traefik}
|
container_name: ${TRAEFIK_CONTAINER_NAME:-traefik}
|
||||||
image: ${TRAEFIK_IMAGE:-traefik:v2.5.2}
|
image: ${TRAEFIK_IMAGE:-traefik:v2.5.3}
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
Reference in New Issue
Block a user