mejorado para uso en servidor
This commit is contained in:
+6
-1
@@ -5,6 +5,11 @@
|
||||
RADICALE_USERNAME=admin
|
||||
RADICALE_PASSWORD=tu_contraseña_segura_aqui
|
||||
|
||||
# Configuración de dominios públicos (Coolify)
|
||||
RADICALE_DOMAIN=radicale.tu-dominio.com
|
||||
INFCLOUD_DOMAIN=infcloud.tu-dominio.com
|
||||
COOLIFY_ENTRYPOINTS=https
|
||||
|
||||
# Configuración de Red
|
||||
RADICALE_PORT=5232
|
||||
INFCLOUD_PORT=8090
|
||||
@@ -14,4 +19,4 @@ TZ=Europe/Madrid
|
||||
|
||||
# URLs base (no cambiar a menos que sepas lo que haces)
|
||||
RADICALE_BASE_URL=http://localhost:5232
|
||||
INFCLOUD_BASE_URL=http://localhost:8090
|
||||
INFCLOUD_BASE_URL=http://localhost:8090
|
||||
|
||||
@@ -70,6 +70,11 @@ INFCLOUD_PORT=8090
|
||||
# Configuración de Zona Horaria
|
||||
TZ=Europe/Madrid
|
||||
|
||||
# Dominios públicos (Coolify)
|
||||
RADICALE_DOMAIN=radicale.tu-dominio.com
|
||||
INFCLOUD_DOMAIN=infcloud.tu-dominio.com
|
||||
COOLIFY_ENTRYPOINTS=https
|
||||
|
||||
# URLs base
|
||||
RADICALE_BASE_URL=http://localhost:5232
|
||||
INFCLOUD_BASE_URL=http://localhost:8090
|
||||
@@ -130,6 +135,16 @@ docker compose restart radicale
|
||||
- **Ruta principal:** /usuario/
|
||||
- **SSL:** No (para desarrollo local)
|
||||
|
||||
## 🌐 Integración con coolify-proxy
|
||||
|
||||
1. **Define los dominios públicos:** Rellena las variables `RADICALE_DOMAIN`, `INFCLOUD_DOMAIN` y `COOLIFY_ENTRYPOINTS` (por defecto `https`) en `.env`. Mantén `RADICALE_BASE_URL` e `INFCLOUD_BASE_URL` apuntando a las URLs HTTPS finales para que InfCloud genere enlaces correctos.
|
||||
2. **Genera la configuración de InfCloud:** `make config`.
|
||||
3. **Asegura la red externa:** Coolify crea una red llamada `coolify-proxy`. Si no existe ejecútalo una vez como root: `docker network create coolify-proxy`.
|
||||
4. **Ajusta y despliega los servicios:** `docker compose up -d` (o `make start`). Cada servicio se conectará automáticamente tanto a `caldav_net` como a `coolify-proxy` y expondrá las etiquetas Traefik necesarias.
|
||||
5. **Verifica la conexión a la red de Coolify:** `docker network inspect coolify-proxy | grep -E 'radicale|infcloud'`.
|
||||
6. **Crea los routers desde Coolify:** Dentro del panel de Coolify > Proxy, declara cada subdominio apuntando al contenedor correspondiente y al puerto interno (`5232` para Radicale, `80` para InfCloud). Traefik detectará los labels y emitirá los certificados usando el resolver indicado.
|
||||
7. **Pruebas rápidas:** `docker compose ps` para comprobar que ambos contenedores están arriba y `curl -u usuario:contraseña -X PROPFIND https://tu-subdominio-radicale/usuario/ -H "Depth: 0"` para validar la publicación detrás de Coolify.
|
||||
|
||||
## 🐛 Resolución de Problemas
|
||||
|
||||
### Error 405 PROPFIND
|
||||
@@ -224,4 +239,4 @@ make restart # Reiniciar servicios
|
||||
**Pruebas realizadas:**
|
||||
- ✅ admin: HTTP 207 Multi-Status
|
||||
- ✅ user1: HTTP 207 Multi-Status
|
||||
- ✅ Cualquier usuario nuevo funciona automáticamente
|
||||
- ✅ Cualquier usuario nuevo funciona automáticamente
|
||||
|
||||
@@ -14,6 +14,12 @@ services:
|
||||
- "${RADICALE_PORT}:5232"
|
||||
networks:
|
||||
- caldav_net
|
||||
- coolify-proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.radicale.rule=Host(`${RADICALE_DOMAIN}`)"
|
||||
- "traefik.http.routers.radicale.entrypoints=${COOLIFY_ENTRYPOINTS}"
|
||||
- "traefik.http.services.radicale.loadbalancer.server.port=5232"
|
||||
|
||||
infcloud:
|
||||
image: nginx:alpine
|
||||
@@ -30,7 +36,15 @@ services:
|
||||
- ./infcloud_config/nginx-simple.conf:/etc/nginx/conf.d/default.conf:ro
|
||||
networks:
|
||||
- caldav_net
|
||||
- coolify-proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.infcloud.rule=Host(`${INFCLOUD_DOMAIN}`)"
|
||||
- "traefik.http.routers.infcloud.entrypoints=${COOLIFY_ENTRYPOINTS}"
|
||||
- "traefik.http.services.infcloud.loadbalancer.server.port=80"
|
||||
|
||||
networks:
|
||||
caldav_net:
|
||||
driver: bridge
|
||||
coolify-proxy:
|
||||
external: true
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
// Configuración según documentación oficial de Radicale
|
||||
// https://github.com/Kozea/Radicale/wiki/Client-InfCloud
|
||||
var globalNetworkCheckSettings = {
|
||||
href: 'http://localhost:8090/radicale/',
|
||||
href: 'https://infcloud-h5j23io4jn45.organic-machine.com/radicale/',
|
||||
timeOut: 90000,
|
||||
lockTimeOut: 10000,
|
||||
checkContentType: false,
|
||||
@@ -109,7 +109,7 @@ var globalHideInfoMessageAfter = 3000; // Tiempo en millisegundos para ocultar m
|
||||
var globalDefaultActiveApp = null;
|
||||
var globalSubscribedCalendars = {};
|
||||
var globalCalendarStartOfBusiness = 8;
|
||||
var globalCalendarEndOfBusiness = 19;
|
||||
var globalCalendarEndOfBusiness = 17;
|
||||
var globalAMPMFormat = false;
|
||||
|
||||
// Persistencia de configuraciones de usuario
|
||||
|
||||
Reference in New Issue
Block a user