add base
This commit is contained in:
13
Caddyfile
Normal file
13
Caddyfile
Normal 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
70
docker-compose.yml
Normal 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
8
flask-app/Dockerfile
Normal 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
16
flask-app/app.py
Normal 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 l’intranet !'
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
app.run(host='0.0.0.0')
|
||||||
17
start-gesthub.sh
Executable file
17
start-gesthub.sh
Executable 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
17
start-infra.sh
Executable 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
|
||||||
Reference in New Issue
Block a user