mirror of
https://github.com/YunoHost-Apps/radicale_ynh.git
synced 2024-09-03 20:16:14 +02:00
first commit
This commit is contained in:
commit
ef3c3b08a5
7 changed files with 280 additions and 0 deletions
124
conf/config
Normal file
124
conf/config
Normal file
|
@ -0,0 +1,124 @@
|
|||
[server]
|
||||
# CalDAV server hostnames separated by a comma
|
||||
# IPv4 syntax: address:port
|
||||
# IPv6 syntax: [address]:port
|
||||
# IPv6 adresses are configured to only allow IPv6 connections
|
||||
hosts = 127.0.0.1:5232
|
||||
# Daemon flag
|
||||
daemon = False
|
||||
# File storing the PID in daemon mode
|
||||
pid =
|
||||
# SSL flag, enable HTTPS protocol
|
||||
ssl = False
|
||||
# SSL certificate path
|
||||
certificate = /etc/apache2/ssl/server.crt
|
||||
# SSL private key
|
||||
key = /etc/apache2/ssl/server.key
|
||||
# Reverse DNS to resolve client address in logs
|
||||
dns_lookup = True
|
||||
# Root URL of Radicale (starting and ending with a slash)
|
||||
base_prefix = /
|
||||
# Message displayed in the client when a password is needed
|
||||
realm = Radicale - Password Required lol
|
||||
|
||||
|
||||
[encoding]
|
||||
# Encoding for responding requests
|
||||
request = utf-8
|
||||
# Encoding for storing local collections
|
||||
stock = utf-8
|
||||
|
||||
|
||||
[auth]
|
||||
# Authentication method
|
||||
# Value: None | htpasswd | IMAP | LDAP | PAM | courier | http
|
||||
type = LDAP
|
||||
|
||||
# Usernames used for public collections, separated by a comma
|
||||
public_users = public
|
||||
# Usernames used for private collections, separated by a comma
|
||||
private_users = private
|
||||
# Htpasswd filename
|
||||
htpasswd_filename = /etc/radicale/users
|
||||
# Htpasswd encryption method
|
||||
# Value: plain | sha1 | crypt
|
||||
htpasswd_encryption = crypt
|
||||
|
||||
# LDAP server URL, with protocol and port
|
||||
ldap_url = ldap://localhost:389/
|
||||
# LDAP base path
|
||||
ldap_base = ou=users,dc=yunohost,dc=org
|
||||
# LDAP login attribute
|
||||
ldap_attribute = uid
|
||||
# LDAP filter string
|
||||
# placed as X in a query of the form (&(...)X)
|
||||
# example: (objectCategory=Person)(objectClass=User)(memberOf=cn=calenderusers,ou=users,dc=example,dc=org)
|
||||
# leave empty if no additional filter is needed
|
||||
ldap_filter = objectClass=inetOrgPerson
|
||||
# LDAP dn for initial login, used if LDAP server does not allow anonymous searches
|
||||
# Leave empty if searches are anonymous
|
||||
ldap_binddn =
|
||||
# LDAP password for initial login, used with ldap_binddn
|
||||
ldap_password =
|
||||
# LDAP scope of the search
|
||||
ldap_scope = OneLevel
|
||||
|
||||
# IMAP Configuration
|
||||
imap_hostname = localhost
|
||||
imap_port = 143
|
||||
imap_ssl = False
|
||||
|
||||
# PAM group user should be member of
|
||||
pam_group_membership =
|
||||
|
||||
# Path to the Courier Authdaemon socket
|
||||
courier_socket =
|
||||
|
||||
# HTTP authentication request URL endpoint
|
||||
http_url =
|
||||
# POST parameter to use for username
|
||||
http_user_parameter =
|
||||
# POST parameter to use for password
|
||||
http_password_parameter =
|
||||
|
||||
|
||||
[rights]
|
||||
# Rights management method
|
||||
# Value: None | owner_only | owner_write | from_file
|
||||
type = owner_only
|
||||
|
||||
# File for rights management from_file
|
||||
file = ~/.config/radicale/rights
|
||||
|
||||
|
||||
[storage]
|
||||
# Storage backend
|
||||
# Value: filesystem | database
|
||||
type = database
|
||||
|
||||
# Folder for storing local collections, created if not present
|
||||
filesystem_folder = ~/.config/radicale/collections
|
||||
|
||||
# Database URL for SQLAlchemy
|
||||
# dialect+driver://user:password@host/dbname[?key=value..]
|
||||
# For example: sqlite:///var/db/radicale.db, postgresql://user:password@localhost/radicale
|
||||
# See http://docs.sqlalchemy.org/en/rel_0_8/core/engines.html#sqlalchemy.create_engine
|
||||
database_url = sqlite:///var/lib/radicale/radicale.db
|
||||
|
||||
|
||||
[logging]
|
||||
# Logging configuration file
|
||||
# If no config is given, simple information is printed on the standard output
|
||||
# For more information about the syntax of the configuration file, see:
|
||||
# http://docs.python.org/library/logging.config.html
|
||||
config = /etc/radicale/logging
|
||||
# Set the default logging level to debug
|
||||
debug = False
|
||||
# Store all environment variables (including those set in the shell)
|
||||
full_environment = False
|
||||
|
||||
|
||||
# Additional HTTP headers
|
||||
#[headers]
|
||||
#Access-Control-Allow-Origin = *
|
||||
|
48
conf/logging
Normal file
48
conf/logging
Normal file
|
@ -0,0 +1,48 @@
|
|||
# Loggers, handlers and formatters keys
|
||||
|
||||
[loggers]
|
||||
# Loggers names, main configuration slots
|
||||
keys = root
|
||||
|
||||
[handlers]
|
||||
# Logging handlers, defining logging output methods
|
||||
keys = console,file
|
||||
|
||||
[formatters]
|
||||
# Logging formatters
|
||||
keys = simple,full
|
||||
|
||||
|
||||
# Loggers
|
||||
|
||||
[logger_root]
|
||||
# Root logger
|
||||
level = DEBUG
|
||||
handlers = console,file
|
||||
|
||||
|
||||
# Handlers
|
||||
|
||||
[handler_console]
|
||||
# Console handler
|
||||
class = StreamHandler
|
||||
level = INFO
|
||||
args = (sys.stdout,)
|
||||
formatter = simple
|
||||
|
||||
[handler_file]
|
||||
# File handler
|
||||
class = FileHandler
|
||||
args = ('/var/log/radicale',)
|
||||
formatter = full
|
||||
|
||||
|
||||
# Formatters
|
||||
|
||||
[formatter_simple]
|
||||
# Simple output format
|
||||
format = %(message)s
|
||||
|
||||
[formatter_full]
|
||||
# Full output format
|
||||
format = %(asctime)s - %(levelname)s: %(message)s
|
8
conf/nginx.conf
Normal file
8
conf/nginx.conf
Normal file
|
@ -0,0 +1,8 @@
|
|||
location PATHTOCHANGE {
|
||||
alias ALIASTOCHANGE
|
||||
if ($scheme = http) {
|
||||
rewrite ^ https://$server_name$request_uri? permanent;
|
||||
}
|
||||
include uwsgi_params;
|
||||
uwsgi_pass unix:///tmp/uwsgi.sock;
|
||||
}
|
4
conf/radicale.wsgi
Normal file
4
conf/radicale.wsgi
Normal file
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env python
|
||||
import radicale
|
||||
radicale.log.start()
|
||||
application = radicale.Application()
|
15
conf/uwsgi_params
Normal file
15
conf/uwsgi_params
Normal file
|
@ -0,0 +1,15 @@
|
|||
uwsgi_param QUERY_STRING $query_string;
|
||||
uwsgi_param REQUEST_METHOD $request_method;
|
||||
uwsgi_param CONTENT_TYPE $content_type;
|
||||
uwsgi_param CONTENT_LENGTH $content_length;
|
||||
|
||||
uwsgi_param REQUEST_URI $request_uri;
|
||||
uwsgi_param PATH_INFO $document_uri;
|
||||
uwsgi_param DOCUMENT_ROOT $document_root;
|
||||
uwsgi_param SERVER_PROTOCOL $server_protocol;
|
||||
uwsgi_param HTTPS $https if_not_empty;
|
||||
|
||||
uwsgi_param REMOTE_ADDR $remote_addr;
|
||||
uwsgi_param REMOTE_PORT $remote_port;
|
||||
uwsgi_param SERVER_PORT $server_port;
|
||||
uwsgi_param SERVER_NAME $server_name;
|
33
manifest.json
Normal file
33
manifest.json
Normal file
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
"name": "Radicale",
|
||||
"id": "radicale",
|
||||
"description": {
|
||||
"en": "CalDAV (calendar) and CardDAV (contact) server solution",
|
||||
"fr": "Serveur CalDAV et CardDAV"
|
||||
},
|
||||
"developer": {
|
||||
"name": "beudbeud",
|
||||
"email": "beudbeud@beudibox.fr",
|
||||
"url": "http://radicale.org"
|
||||
},
|
||||
"multi_instance": "false",
|
||||
"arguments": {
|
||||
"install" : [
|
||||
{
|
||||
"name": "domain",
|
||||
"ask": {
|
||||
"en": "Choose a domain for Roundcube"
|
||||
},
|
||||
"example": "domain.org"
|
||||
},
|
||||
{
|
||||
"name": "path",
|
||||
"ask": {
|
||||
"en": "Choose a path for Radicale"
|
||||
},
|
||||
"example": "/sync",
|
||||
"default": "/sync"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
48
scripts/install
Executable file
48
scripts/install
Executable file
|
@ -0,0 +1,48 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Retrieve arguments
|
||||
domain=$1
|
||||
path=$2
|
||||
|
||||
# Check domain/path availability
|
||||
#sudo yunohost app checkurl $domain$path -a radicale
|
||||
#if [[ ! $? -eq 0 ]]; then
|
||||
# exit 1
|
||||
#fi
|
||||
|
||||
# Check pip installation
|
||||
dpkg -l | grep python-pip > /dev/null 2>&1
|
||||
if [ $? = 1 ];
|
||||
then
|
||||
sudo apt-get install python-pip -y
|
||||
fi
|
||||
|
||||
dpkg -l | grep python-virtualenv > /dev/null 2>&1
|
||||
if [ $? = 1 ];
|
||||
then
|
||||
sudo apt-get install python-virtualenv -y
|
||||
fi
|
||||
|
||||
# Init virtualenv
|
||||
sudo virtualenv /usr/local/radicale
|
||||
source /usr/local/radicale/bin/activate
|
||||
|
||||
# Install uwsgi
|
||||
sudo pip install uwsgi==1.9.20
|
||||
|
||||
# Install radiace
|
||||
sudo pip install radicale==0.8
|
||||
|
||||
# Set permissions to radicale directory
|
||||
#sudo chown -R www-data: $final_path
|
||||
#
|
||||
## Modify Nginx configuration file and copy it to Nginx conf directory
|
||||
#sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf
|
||||
#sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/nginx.conf
|
||||
#sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/radicale.conf
|
||||
#
|
||||
## Reload Nginx and regenerate SSOwat conf
|
||||
#sudo service nginx reload
|
||||
#sudo yunohost app ssowatconf
|
||||
|
||||
|
Loading…
Reference in a new issue