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