{"id":21660762,"url":"https://github.com/schorschii/customerdb-server","last_synced_at":"2025-04-11T22:42:57.636Z","repository":{"id":62463023,"uuid":"234913546","full_name":"schorschii/CustomerDB-Server","owner":"schorschii","description":"Server Software for the Customer Database App, Providing a JSON-RPC-API and Read-Only CardDAV-API for Syncing","archived":false,"fork":false,"pushed_at":"2023-10-16T08:45:52.000Z","size":1855,"stargazers_count":18,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-25T18:45:17.636Z","etag":null,"topics":["appointments","avm-fritz","carddav","crm","customer","fritzbox","voucher","web-frontend","webapp"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/schorschii.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["schorschii"],"liberapay":"schorschii","custom":["https://www.paypal.me/schorschii"]}},"created_at":"2020-01-19T14:30:34.000Z","updated_at":"2025-03-13T06:36:47.000Z","dependencies_parsed_at":"2022-11-02T01:31:08.619Z","dependency_job_id":"e8ce89b9-5550-4ef5-950b-5fc5a6f319c8","html_url":"https://github.com/schorschii/CustomerDB-Server","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schorschii%2FCustomerDB-Server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schorschii%2FCustomerDB-Server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schorschii%2FCustomerDB-Server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schorschii%2FCustomerDB-Server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/schorschii","download_url":"https://codeload.github.com/schorschii/CustomerDB-Server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248492993,"owners_count":21113159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appointments","avm-fritz","carddav","crm","customer","fritzbox","voucher","web-frontend","webapp"],"created_at":"2024-11-25T09:38:39.763Z","updated_at":"2025-04-11T22:42:57.604Z","avatar_url":"https://github.com/schorschii.png","language":"PHP","readme":"# Customer Database Server\nWith this PHP web app you can set up your own server for the [Android](https://github.com/schorschii/customerdb-android) and [iOS](https://github.com/schorschii/customerdb-ios) app \"Customer Database\".\n\n[![Play Store](web/frontend/img/play-store-badge.svg)](https://play.google.com/store/apps/details?id=de.georgsieber.customerdb)\n[![App Store](web/frontend/img/app-store-badge.svg)](https://apps.apple.com/us/app/customer-database/id1496659447)\n\n## Highlights\n- multi-tenant capable\n- *read-only* [CardDAV API](\u003cdocs/CardDAV API.md\u003e) (e.g. for syncing with your email client or router phone book (for DECT phone))\n\n## System Requirements\n- Linux OS (Debian recommended)\n- Apache 2 Webserver + PHP 7\n- MySQL/MariaDB Database Server\n\n## Installation (On A Root Server)\n0. Install Apache 2, PHP 7 (with `php-curl`) and MySQL/MariaDB on a Linux server.\n1. Download the [latest release](https://github.com/schorschii/customerdb-server/releases) and unpack it into `/srv/www/customerdb`.\n2. Set your Apache (virtual host) web root directory to `/srv/www/customerdb/web` by editing the corresponding configuration file inside `/etc/apache2/sites-enabled`.\n3. Create a database on your MySQL server and import the schema from `sql/customerdb.sql`.\n4. Edit/create `conf.php` from the example file (`conf.php.example`) and enter your MySQL credentials. Please do not use the root user but create a new user which is only allowed to operate on the specific database.\n5. Select \"Own Server\" in the settings of your Customer Database app and enter the full URL to the `web/api.php` script. Example: `http://192.168.2.10/api.php`.\n6. Create an account. You can do this in the app (if the API and registration is enabled in `conf.php`) or by using the command line tool on the server (`php console.php createuser \u003cusername\u003e \u003cpassword\u003e`).\n\n## Installation (On A Managed Server)\n1. Download the [latest release](https://github.com/schorschii/customerdb-server/releases) and unpack it into your webspace.\n2. Create a database on your MySQL server and import the schema from `sql/customerdb.sql` using phpMyAdmin or a similar web-based tool from your hosting provider.\n3. Edit/create `conf.php` from the example file (`conf.php.example`) and enter your MySQL credentials.\n4. Select \"Own Server\" in the settings of your Customer Database app and enter the full URL to the `web/api.php` script. Example: `http://example.com/web/api.php`.\n5. Ensure that the API and registration is enabled in `conf.php`. Now create a sync account inside the app.\n6. After you created your personal account on your server, you may now want to disable the registration in `conf.php`.\n\n## Further (Optional) Steps\nEspecially if your server is available from the internet (and not only locally in your home network):\n- it is highly recommended to setup HTTPS on your web server\n- it is highly recommended to setup fail2ban on your web server (see [lib/fail2ban](lib/fail2ban/README.md) for more information)\n- you may want to disable the user registration in the `conf.php` file (you can also disable the API or the web frontend here)\n\n## Upgrade\nFor upgrading your server to a newer version, please read [Upgrade.md](docs/Upgrade.md).\n\n## (API) Documentation\nPlease have a look at the [docs](docs/README.md) folder.\n\n## Development Status\nCurrenty, these scripts only provide the API. It is planned to provide a full web frontend for creating and editing customer records in the web browser.\n","funding_links":["https://github.com/sponsors/schorschii","https://liberapay.com/schorschii","https://www.paypal.me/schorschii"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschorschii%2Fcustomerdb-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fschorschii%2Fcustomerdb-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschorschii%2Fcustomerdb-server/lists"}