Self-hosted Node.js app: drop family photos in a shared Google Drive folder, caption them in a private dashboard, then publish to Famileo gazettes.
Google Drive → poller → review queue → dashboard → Famileo wall(s)
git clone https://github.com/O-Plums/famileo-helper.git
cd famileo-helperPut these 3 things in the project root:
| File | What |
|---|---|
.env |
cp .env.example .env then fill password, Drive folder ID, pad names |
credentials.json |
Google service-account key (rename the downloaded JSON) |
auth/famileo-state.json |
Famileo session (see below) |
Then:
docker compose up -d --builddocker compose logs -f # follow logs
docker compose down # stopnpm install
npx playwright install chromium
npm run famileo:loginCreates auth/famileo-state.json. Copy that file into the cloned project if you logged in elsewhere. Re-run when publishes redirect to login.
Easier renewal: after npm run famileo:login on your Mac, open the dashboard and upload auth/famileo-state.json via Importer la session Famileo (no scp needed).
- Google Cloud Console → enable Drive API
- Service account → Keys → JSON → save as
credentials.json - Share the inbox Drive folder with the service-account email
- Put the folder ID in
.envasDRIVE_FOLDER_ID
famileo-helper/
├── .env
├── credentials.json
├── auth/famileo-state.json
├── docker-compose.yml
└── Dockerfile
Do not commit .env, credentials.json, or auth/ (already in .gitignore).
| Command | Purpose |
|---|---|
docker compose up -d --build |
Start |
npm run famileo:login |
Save Famileo session |
npm run famileo:verify |
Check session / pads |
npm start |
Run without Docker |
npm test |
Unit tests |
More detail: docs/setup.md