Guide d'installation et de configuration d'Ackify avec Docker Compose.
- Docker et Docker Compose installés
- Un domaine (ou localhost pour les tests)
- Credentials OAuth2 (Google, GitHub, GitLab, ou custom)
git clone https://github.com/kolapsis/ackify.git
cd ackify-ceCopier le fichier d'exemple et l'éditer :
cp .env.example .env
nano .envVariables obligatoires minimales :
# Domaine public de votre instance
APP_DNS=sign.your-domain.com
ACKIFY_BASE_URL=https://sign.your-domain.com
ACKIFY_ORGANISATION="Your Organization Name"
# Base de données PostgreSQL
POSTGRES_USER=ackifyr
POSTGRES_PASSWORD=your_secure_password_here
POSTGRES_DB=ackify
# OAuth2 (exemple avec Google)
ACKIFY_OAUTH_PROVIDER=google
ACKIFY_OAUTH_CLIENT_ID=your_google_client_id
ACKIFY_OAUTH_CLIENT_SECRET=your_google_client_secret
# Sécurité - générer avec: openssl rand -base64 32
ACKIFY_OAUTH_COOKIE_SECRET=your_base64_encoded_secret_keydocker compose up -dCette commande va :
- Télécharger les images Docker nécessaires
- Démarrer PostgreSQL avec healthcheck
- Appliquer les migrations de base de données
- Lancer l'application Ackify
# Voir les logs
docker compose logs -f ackify-ce
# Vérifier le health check
curl http://localhost:8080/api/v1/health
# Attendu: {"status":"healthy","database":"connected"}Ouvrir votre navigateur :
- Interface publique : http://localhost:8080
- Admin dashboard : http://localhost:8080/admin (nécessite email dans ACKIFY_ADMIN_EMAILS)
Avant de pouvoir utiliser Ackify, configurez votre provider OAuth2.
- Aller sur Google Cloud Console
- Créer un nouveau projet ou sélectionner un projet existant
- Activer l'API "Google+ API"
- Créer des credentials OAuth 2.0 :
- Type : Web application
- Authorized redirect URIs :
https://sign.your-domain.com/api/v1/auth/callback
- Copier le Client ID et Client Secret dans
.env
ACKIFY_OAUTH_PROVIDER=google
ACKIFY_OAUTH_CLIENT_ID=123456789-abc.apps.googleusercontent.com
ACKIFY_OAUTH_CLIENT_SECRET=GOCSPX-xyz...- Aller sur GitHub Developer Settings
- Créer une nouvelle OAuth App
- Configuration :
- Homepage URL :
https://sign.your-domain.com - Callback URL :
https://sign.your-domain.com/api/v1/auth/callback
- Homepage URL :
- Générer un client secret
ACKIFY_OAUTH_PROVIDER=github
ACKIFY_OAUTH_CLIENT_ID=Iv1.abc123
ACKIFY_OAUTH_CLIENT_SECRET=ghp_xyz...Voir OAuth Providers pour GitLab et custom providers.
# Cookie secret (obligatoire)
openssl rand -base64 32
# Ed25519 private key (optionnel, auto-généré si absent)
openssl rand -base64 64- Accéder à
http://localhost:8080/?doc=test_document - Cliquer sur "Sign this document"
- Se connecter via OAuth2
- Valider la signature
- Ajouter votre email dans
.env:ACKIFY_ADMIN_EMAILS=admin@company.com
- Redémarrer :
docker compose restart ackify-ce
- Se connecter puis accéder à
/admin
<!-- Widget embeddable -->
<iframe src="https://sign.your-domain.com/?doc=test_document"
width="600" height="200"
frameborder="0"
style="border: 1px solid #ddd; border-radius: 6px;"></iframe># Voir les logs
docker compose logs -f ackify-ce
# Redémarrer
docker compose restart ackify-ce
# Arrêter
docker compose down
# Reconstruire après modifications
docker compose up -d --force-recreate ackify-ce --build
# Accéder à la base de données
docker compose exec ackify-db psql -U ackifyr -d ackify# Vérifier les logs
docker compose logs ackify-ce
# Vérifier la santé de PostgreSQL
docker compose ps ackify-db# Relancer les migrations manuellement
docker compose up ackify-migrateVérifier que :
ACKIFY_BASE_URLcorrespond exactement à votre domaine- La callback URL dans le provider OAuth2 est correcte
- Le cookie secret est bien configuré