---
title: "Déployez Sure sur Pethost en un clic"
description: "Une application de finances personnelles, fork de Maybe Finance. Un template pour Pethost : en une minute ou deux l’application tourne sur votre machine, en HTTPS à sa propre adresse, avec des sauvegardes chaque nuit."
---

[← Tous les templates](https://pethost.dev/fr/templates/)

# Déployez Sure sur Pethost en un clic

Une application de finances personnelles, fork de Maybe Finance

[Déployer sur Pethost](https://console.pethost.dev/?template=sure)

## Ce qui se passe

1. Vous vous connectez à Pethost ou créez un compte, avec une clé d’accès, GitHub ou Google.
2. Pas encore de machine ? Vous choisissez une offre, et nous en préparons une pour vous. Le lien attend dans votre navigateur qu’elle soit prête.
3. Nouveau projet s’ouvre sur l’application, et vous cliquez sur Créer le projet.
4. En une minute ou deux, l’application tourne à sa propre adresse en HTTPS. Ses secrets sont créés pour elle au hasard, et ses données sont dans la sauvegarde nocturne.
5. C’est un projet comme les autres : son compose.yaml, son .env, ses logs et un terminal sont dans le panel, et votre agent peut le modifier, revenir à une version précédente ou le restaurer.

## Premiers pas

Ouvrez l’adresse et inscrivez-vous : le premier compte est l’administrateur. Faites-le tout de suite : d’ici là, la page est ouverte à quiconque connaît l’adresse. Fermez ensuite les inscriptions dans Settings > Self-Hosting > Onboarding.

## Ce qui tourne

Le template, c’est ce compose.yaml et les variables qu’il écrit dans le .env du projet. Pethost exécute le fichier tel qu’il est écrit.

```
# The web server and the worker are one image with one environment.
x-app: &app
  image: ghcr.io/we-promise/sure:0.7.5-hotfix.2
  restart: unless-stopped
  environment:
    SELF_HOSTED: "true"
    # TLS ends at the machine's proxy: the app takes every request as HTTPS and redirects none.
    RAILS_FORCE_SSL: "false"
    RAILS_ASSUME_SSL: "true"
    APP_DOMAIN: ${APP_DOMAIN}
    SECRET_KEY_BASE: ${SECRET_KEY_BASE}
    DB_HOST: db
    DB_PORT: "5432"
    POSTGRES_USER: sure_user
    POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
    POSTGRES_DB: sure_production
    REDIS_URL: redis://redis:6379/1
  volumes:
    - app-storage:/rails/storage
  depends_on:
    db:
      condition: service_healthy
    redis:
      condition: service_healthy

services:
  web:
    <<: *app

  worker:
    <<: *app
    command: bundle exec sidekiq

  db:
    image: postgres:16
    restart: unless-stopped
    environment:
      POSTGRES_USER: sure_user
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      POSTGRES_DB: sure_production
    volumes:
      - postgres-data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
      interval: 5s
      timeout: 5s
      retries: 5
      start_period: 30s

  redis:
    image: redis:8-alpine
    restart: unless-stopped
    volumes:
      - redis-data:/data
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 5s
      timeout: 5s
      retries: 5

volumes:
  app-storage:
  postgres-data:
  redis-data:
```

[compose.yaml](https://pethost.dev/templates/sure/compose.yaml)[Le voir sur GitHub](https://github.com/pethost-dev/templates/tree/main/sure)

Pethost · Stephan Gomer · NIP 1133096755

[Templates](https://pethost.dev/fr/templates/) [À propos](https://pethost.dev/about/) [Blog](https://pethost.dev/blog/) [Conditions](https://pethost.dev/terms/) [Confidentialité](https://pethost.dev/privacy/) [Remboursements](https://pethost.dev/refunds/) [API](https://pethost.dev/docs/api/) [CLI](https://pethost.dev/docs/cli/) [Plugin](https://github.com/pethost-dev/plugin) [support@pethost.dev](mailto:support@pethost.dev)
