12 Commits

Author SHA1 Message Date
8168ce327b chore(Gitea): Upgrade to 1.15.5
https://github.com/go-gitea/gitea/releases/tag/v1.15.4
https://github.com/go-gitea/gitea/releases/tag/v1.15.5
2021-10-25 09:52:26 +02:00
50f2b22523 docs: Add more documentation 2021-10-23 00:45:25 +02:00
88af04b233 feat(Hedgedoc): Add configuration variables
https://docs.hedgedoc.org/configuration/
2021-10-11 09:23:11 +02:00
671d8e0d6d feat(Hedgedoc): Add authentication variable
https://docs.hedgedoc.org/configuration/
2021-10-11 09:09:57 +02:00
d1b92e0a17 feat(Directus): Add variable for Traefik router name 2021-10-08 12:50:31 +02:00
6c4c387234 Merge pull request 'feat(Directus): Add new service' (#4) from directus into master
Reviewed-on: https://git.weko.io/weko/services/pulls/4
2021-10-08 12:33:23 +02:00
f204561f5f feat(Directus): Add new service 2021-10-08 12:30:49 +02:00
2fbb7ca0ca chore(Gitea): Upgrade to 1.15.3
https://github.com/go-gitea/gitea/releases/tag/v1.15.3
2021-09-27 11:06:54 +02:00
9f4327cae2 chore(Traefik): Upgrade to 2.5.3
https://github.com/traefik/traefik/releases/tag/v2.5.3
2021-09-27 10:54:56 +02:00
0d52bdfd59 chore(Grafana): Upgrade to 8.1.5
https://github.com/grafana/grafana/releases/tag/v8.1.5
2021-09-27 10:43:16 +02:00
c8f242428a chore(Hedgedoc): Upgrade to 1.9.0
https://github.com/linuxserver/docker-hedgedoc/releases/tag/1.9.0-ls31
2021-09-27 10:27:14 +02:00
b22d545ed6 fix(Hedgedoc): Backup uploaded files
Environment variables take precedence over configurations from the config files, so don't backup it.
2021-09-15 22:38:23 +02:00
11 changed files with 118 additions and 12 deletions

View File

@ -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
View 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
View 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/

View 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

View File

@ -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 sexé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 sexé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

View File

@ -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

View File

@ -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

View File

@ -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).

View File

@ -7,12 +7,12 @@ 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
volumes: volumes:
- hedgedoc:/config - hedgedoc:/opt/hedgedoc/public/uploads
- /etc/timezone:/etc/timezone:ro - /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
environment: environment:
@ -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}

View File

@ -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

View File

@ -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