Skip to content

Commit 97a3d2c

Browse files
authored
Merge pull request #26 from Monadical-SAS/afreydev/release-v0.2.0
chore: Release v0.2.0
2 parents fd711ae + d2ad8d4 commit 97a3d2c

22 files changed

Lines changed: 955 additions & 280 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ next-env.d.ts
4444

4545
apps/homer/etc/config.yaml
4646
apps/homer/config/config.yml
47+
apps/librechat/librechat/*
4748
etc/basedomain.txt
4849
etc/default_admin_email.txt
4950
etc/environment.txt

README.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,11 +283,34 @@ https://authentik.<your_domain>/if/flow/initial-setup/
283283
- Description: Professional publishing platform
284284
- Type: CMS
285285

286+
- **WordPress**
287+
- Description: Popular content management system
288+
- Type: CMS
289+
290+
### Development
291+
- **Gitea**
292+
- Description: Self-hosted Git service with web interface
293+
- Type: Version Control
294+
295+
### AI & Productivity
296+
- **LibreChat**
297+
- Description: AI chat interface supporting multiple providers
298+
- Type: AI Assistant
299+
300+
### Analytics
301+
- **Matomo**
302+
- Description: Privacy-focused web analytics platform
303+
- Type: Analytics
304+
286305
### System
287306
- **Homer**
288307
- Description: Homepage dashboard
289308
- Type: System Dashboard
290309

310+
- **Portainer**
311+
- Description: Container management web interface
312+
- Type: Container Management
313+
291314
## Coming Soon
292315
The following services are in development or planned for future releases:
293316

@@ -451,3 +474,52 @@ For bug reports and feature requests, please use the GitHub repository at [https
451474
| `VIDEO_ZOOM_CLIENT_ID` | Zoom Client ID | *Optional* |
452475
| `VIDEO_ZOOM_CLIENT_SECRET` | Zoom Client Secret | *Optional* |
453476
| `SOCIAL_AUTH_OIDC_SECRET` | OIDC authentication secret | *Optional* |
477+
478+
## Gitea
479+
480+
| Variable | Description | Default |
481+
|----------|-------------|---------|
482+
| `GITEA_POSTGRES_USER` | PostgreSQL username | `gitea` |
483+
| `GITEA_POSTGRES_DB` | PostgreSQL database name | `gitea` |
484+
| `GITEA_POSTGRES_PASSWORD` | PostgreSQL password | *Required* |
485+
486+
## LibreChat
487+
488+
| Variable | Description | Default |
489+
|----------|-------------|---------|
490+
| `LIBRECHAT_PORT` | LibreChat application port | `3080` |
491+
| `UID` | User ID for container permissions | `1000` |
492+
| `GID` | Group ID for container permissions | `1000` |
493+
| `ALLOW_EMAIL_LOGIN` | Enable email login | `true` |
494+
| `ALLOW_REGISTRATION` | Enable user registration | `true` |
495+
| `JWT_SECRET` | JWT token secret key | *Required* |
496+
| `JWT_REFRESH_SECRET` | JWT refresh token secret | *Required* |
497+
| `CREDS_KEY` | Credentials encryption key | *Required* |
498+
| `CREDS_IV` | Credentials initialization vector | *Required* |
499+
| `MEILI_MASTER_KEY` | Meilisearch master key | *Required* |
500+
| `SESSION_EXPIRY` | Session expiration time (ms) | `900000` |
501+
| `REFRESH_TOKEN_EXPIRY` | Refresh token expiration (ms) | `604800000` |
502+
503+
## Matomo
504+
505+
| Variable | Description | Default |
506+
|----------|-------------|---------|
507+
| `MATOMO_MYSQL_ROOT_PASSWORD` | MariaDB root password | *Required* |
508+
| `MATOMO_MYSQL_USER` | MariaDB username | `matomo` |
509+
| `MATOMO_MYSQL_PASSWORD` | MariaDB user password | *Required* |
510+
| `MATOMO_MYSQL_DATABASE` | MariaDB database name | `matomo` |
511+
512+
## WordPress
513+
514+
| Variable | Description | Default |
515+
|----------|-------------|---------|
516+
| `WORDPRESS_MYSQL_ROOT_PASSWORD` | MariaDB root password | *Required* |
517+
| `WORDPRESS_MYSQL_USER` | MariaDB username | `wordpress` |
518+
| `WORDPRESS_MYSQL_PASSWORD` | MariaDB user password | *Required* |
519+
| `WORDPRESS_MYSQL_DATABASE` | MariaDB database name | `wordpress` |
520+
521+
## Portainer
522+
523+
| Variable | Description | Default |
524+
|----------|-------------|---------|
525+
| *No additional variables* | Uses Docker socket and data volume | - |

apps/gitea/.env-dist

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
2+
# Base Configuration
3+
BASE_DOMAIN=example.com
4+
ENABLE_TRAEFIK=true
5+
TRAEFIK_NETWORK=traefik-public
6+
7+
# HTTPS Configuration
8+
HTTPS_ENTRYPOINT=websecure
9+
ENABLE_TLS=true
10+
TLS_RESOLVER=letsencrypt
11+
HTTPS_MIDDLEWARE=redirect-to-https
12+
REDIRECT_SCHEME=https
13+
REDIRECT_PERMANENT=true
14+
15+
# Gitea Configuration
16+
GITEA_POSTGRES_USER=gitea
17+
GITEA_POSTGRES_PASSWORD=changeme_gitea_password
18+
GITEA_POSTGRES_DB=gitea
19+
20+
# LibreChat Configuration
21+
LIBRECHAT_PORT=3080
22+
RAG_PORT=8000
23+
MEILI_MASTER_KEY=changeme_meili_key
24+
UID=1000
25+
GID=1000
26+
27+
# Matomo Configuration
28+
MATOMO_MYSQL_ROOT_PASSWORD=changeme_matomo_root_password
29+
MATOMO_MYSQL_USER=matomo
30+
MATOMO_MYSQL_PASSWORD=changeme_matomo_password
31+
MATOMO_MYSQL_DATABASE=matomo
32+
33+
# WordPress Configuration
34+
WORDPRESS_MYSQL_ROOT_PASSWORD=changeme_wordpress_root_password
35+
WORDPRESS_MYSQL_USER=wordpress
36+
WORDPRESS_MYSQL_PASSWORD=changeme_wordpress_password
37+
WORDPRESS_MYSQL_DATABASE=wordpress

apps/gitea/bin/app_hook.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
2+
#!/bin/bash
3+
ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../../.." && pwd )"
4+
APP_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )"
5+
6+
ENV_FILE="$APP_ROOT/.env"
7+
8+
source "$ROOT/bin/tools.sh"
9+
10+
# Gitea PostgreSQL Configuration
11+
update_env_record "GITEA_POSTGRES_USER" "gitea" "$ENV_FILE"
12+
update_env_record "GITEA_POSTGRES_DB" "gitea" "$ENV_FILE"
13+
update_env_record "GITEA_POSTGRES_PASSWORD" "$(openssl rand -hex 32)" "$ENV_FILE"
14+
15+
# Get base domain from config
16+
BASE_DOMAIN_VALUE=$(yq '.base_domain' "$SELFHOSTYOURTECH_ROOT/etc/config.yaml")
17+
add_key_in_env "BASE_DOMAIN" "$BASE_DOMAIN_VALUE" "$ENV_FILE"

apps/gitea/docker-compose.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
services:
2+
gitea_database:
3+
image: postgres:13.4-alpine
4+
env_file:
5+
- ./.env
6+
environment:
7+
- POSTGRES_USER=${GITEA_POSTGRES_USER}
8+
- POSTGRES_PASSWORD=${GITEA_POSTGRES_PASSWORD}
9+
- POSTGRES_DB=${GITEA_POSTGRES_DB}
10+
volumes:
11+
- gitea_database:/var/lib/postgresql/data
12+
networks:
13+
- internal
14+
restart: always
15+
16+
gitea:
17+
# Use the latest stable release from https://github.com/go-gitea/gitea/releases
18+
image: gitea/gitea:1.24.3
19+
env_file:
20+
- ./.env
21+
environment:
22+
- USER_UID=1000
23+
- USER_GID=1000
24+
- GITEA__database__DB_TYPE=postgres
25+
- GITEA__database__HOST=gitea_database:5432
26+
- GITEA__database__NAME=${GITEA_POSTGRES_DB}
27+
- GITEA__database__USER=${GITEA_POSTGRES_USER}
28+
- GITEA__database__PASSWD=${GITEA_POSTGRES_PASSWORD}
29+
- GITEA__server__DOMAIN=gitea.${BASE_DOMAIN}
30+
- GITEA__server__SSH_DOMAIN=gitea.${BASE_DOMAIN}
31+
- GITEA__server__ROOT_URL=https://gitea.${BASE_DOMAIN}
32+
- GITEA__server__PROTOCOL=http
33+
- GITEA__server__HTTP_PORT=3000
34+
volumes:
35+
- gitea_data:/data
36+
- /etc/timezone:/etc/timezone:ro
37+
- /etc/localtime:/etc/localtime:ro
38+
networks:
39+
- internal
40+
- traefik-public
41+
labels:
42+
- traefik.enable=${ENABLE_TRAEFIK:-false}
43+
- traefik.docker.network=traefik-public
44+
- traefik.http.routers.gitea.rule=Host(`gitea.${BASE_DOMAIN}`)
45+
- traefik.http.routers.gitea.entrypoints=web
46+
- "${HTTPS_MIDDLEWARE:+traefik.http.routers.gitea.middlewares=${HTTPS_MIDDLEWARE}}"
47+
- traefik.http.routers.gitea-secure.rule=Host(`gitea.${BASE_DOMAIN}`)
48+
- traefik.http.routers.gitea-secure.entrypoints=${HTTPS_ENTRYPOINT:-}
49+
- traefik.http.routers.gitea-secure.tls=${ENABLE_TLS:-}
50+
- traefik.http.routers.gitea-secure.tls.certresolver=${TLS_RESOLVER:-}
51+
- traefik.http.services.gitea.loadbalancer.server.port=3000
52+
- "${REDIRECT_SCHEME:+traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=${REDIRECT_SCHEME}}"
53+
- "${REDIRECT_PERMANENT:+traefik.http.middlewares.redirect-to-https.redirectscheme.permanent=${REDIRECT_PERMANENT}}"
54+
restart: always
55+
depends_on:
56+
- gitea_database
57+
58+
volumes:
59+
gitea_database:
60+
gitea_data:
61+
62+
networks:
63+
internal:
64+
traefik-public:
65+
external: ${ENABLE_TRAEFIK:-false}
66+
name: ${TRAEFIK_NETWORK:-traefik-public}

apps/homer/etc/config.yaml

Lines changed: 0 additions & 138 deletions
This file was deleted.

0 commit comments

Comments
 (0)