This commit is contained in:
k6Wz7SqNXTDm@tpaDX2%
2025-04-08 12:19:56 +02:00
parent f548db35ab
commit 094eeb7699
6 changed files with 141 additions and 0 deletions

13
Caddyfile Normal file
View File

@@ -0,0 +1,13 @@
# Caddyfile
wekan.localhost {
reverse_proxy wekan:8080
}
chat.localhost {
reverse_proxy rocketchat:3000
}
flask.localhost {
reverse_proxy flask:5000
}

70
docker-compose.yml Normal file
View File

@@ -0,0 +1,70 @@
services:
caddy:
image: caddy:latest
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
depends_on:
- flask
- wekan
- rocketchat
flask:
build: ./flask-app
environment:
- DB_HOST=mariadb
- DB_USER=flaskuser
- DB_PASSWORD=flaskpass
- DB_NAME=flaskdb
depends_on:
- mariadb
volumes:
- ./flask-app:/app
mariadb:
image: mariadb:latest
environment:
- MYSQL_ROOT_PASSWORD=rootpass
- MYSQL_DATABASE=flaskdb
- MYSQL_USER=flaskuser
- MYSQL_PASSWORD=flaskpass
volumes:
- mariadb_data:/var/lib/mysql
wekan:
image: wekanteam/wekan
environment:
- MONGO_URL=mongodb://mongo:27017/wekan
- ROOT_URL=https://wekan.localhost
depends_on:
- mongo
mongo:
image: mongo:latest
volumes:
- mongo_data:/data/db
rocketchat:
image: rocketchat/rocket.chat:latest
environment:
- MONGO_URL=mongodb://mongo:27017/rocketchat
- ROOT_URL=https://chat.localhost
- PORT=3000
ports:
- "3000:3000"
depends_on:
- mongo
- redis
redis:
image: redis:latest
volumes:
caddy_data:
caddy_config:
mariadb_data:
mongo_data:

8
flask-app/Dockerfile Normal file
View File

@@ -0,0 +1,8 @@
FROM python:3.11
WORKDIR /app
COPY . /app
RUN pip install flask flask_sqlalchemy pymysql
CMD ["python", "app.py"]

16
flask-app/app.py Normal file
View File

@@ -0,0 +1,16 @@
# flask-app/app.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://flaskuser:flaskpass@mariadb/flaskdb'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
@app.route('/')
def index():
return 'Bienvenue sur lintranet !'
if __name__ == '__main__':
app.run(host='0.0.0.0')

17
start-gesthub.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
PROJECT_DOMAIN="gesthub"
HOSTS_LINE="127.0.0.1 flask.$PROJECT_DOMAIN wekan.$PROJECT_DOMAIN chat.$PROJECT_DOMAIN"
echo "🔧 Vérification des droits (sudo peut être requis pour modifier /etc/hosts)..."
# Ajout dans /etc/hosts si absent
if ! grep -q "$PROJECT_DOMAIN" /etc/hosts; then
echo "✅ Ajout de $PROJECT_DOMAIN dans /etc/hosts..."
echo "$HOSTS_LINE" | sudo tee -a /etc/hosts > /dev/null
else
echo "✔️ Domaine $PROJECT_DOMAIN déjà présent dans /etc/hosts."
fi
echo "🚀 Lancement des services Docker..."
docker compose up --build

17
start-infra.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
PROJECT_DOMAIN="gesthub"
HOSTS_LINE="127.0.0.1 flask.$PROJECT_DOMAIN wekan.$PROJECT_DOMAIN chat.$PROJECT_DOMAIN"
echo "🔧 Vérification des droits (sudo peut être requis pour modifier /etc/hosts)..."
# Ajout dans /etc/hosts si absent
if ! grep -q "$PROJECT_DOMAIN" /etc/hosts; then
echo "✅ Ajout de $PROJECT_DOMAIN dans /etc/hosts..."
echo "$HOSTS_LINE" | sudo tee -a /etc/hosts > /dev/null
else
echo "✔️ Domaine $PROJECT_DOMAIN déjà présent dans /etc/hosts."
fi
echo "🚀 Lancement des services Docker..."
docker compose up --build