- Git commits have to be signed
- Keep any discussions professional and civil
- Issues not following the template will be closed without review
- No "I have this issue"-comments. Use the 👍 reaction if you experience the same issue.
- Issues with the browser extension have to be opened in this repository
- For questions and support, visit the forum
This repository ships with a full docker based development environment that enables you to use all app functionality without much setup.
- Internet Connection
- Node
- Docker
- Docker Compose
- mkcert
- Checkout the project with
git clone git@github.com:marius-wieschollek/passwords.git
- Open the project directory in a terminal
- Run
npm ci
- Run
npm run build
- If you have mkcert, run
npm run mkcert
- Run
npm run start
- Open your browser and type https://localhost/
- Log in with the username
admin
and the passwordadmin
- You can now access the app
You can start development on the passwords app with your existing Nextcloud installation.
- Internet Connection
- Node
- Checkout the project with
git clone git@github.com:marius-wieschollek/passwords.git
- Symlink the /src folder to the /passwords folder in the Nextcloud apps directory or set up a file synchronisation between the folders.
- Run
npm install
- Run
npm run build
- Open the apps store in your Nextcloud and enable the Passwords app
The docker setup comes with two test users max
and erika
with the password PasswordsApp
.
All users have a set of sample data installed.
You can also download a file with sample data from the wiki and can import it on the backups page.
We offer a postman collection for the API debugging tool Postman.
npm run watch
- Create development build of JS/CSS files and watch for changesnpm run start
- Start the docker server. Usepostgres:start
,sqlite:start
,ldap:start
orsaml:start
to include these servicesnpm run stop
- Stop the docker server. Usepostgres:stop
,sqlite:stop
,ldap:stop
orsaml:stop
to include these servicesnpm run cron
- Execute cron jobsnpm run shell
- Open a shell in the containernpm run shell:root
- Open a root shell in the containernpm run down
- Remove docker containers and volumes. Usepostgres:down
,sqlite:down
,ldap:down
orsaml:down
to include these servicesnpm run docker:build
- Start docker and build imagesnpm run build
- Create production build of JS/CSS filesnpm run build:nightly
- Create nightly build of JS/CSS filesnpm run cypress
- Frontend testing and create screenshots for the manualdocker-compose -f docker-compose.yml -f docker/configs/<service>.yml up -d
starts the system with additional servicesdocker exec -u www-data passwords-php /var/www/html/occ config:system:set loglevel --value=0 --type=int
- Set loglevel to info
- https://localhost is Nextcloud (with the app)
- https://localhost:8080 is PhpMyAdmin (for the MySQL database)
- https://localhost:1080 is MailHog (for Emails)
- http://localhost:8081 is pgAdmin (for the Postgres database, user
admin@passwords.local
, passwordnextcloud
. The database password is alsonextcloud
) - https://localhost:9090 is PhpLdapAdmin (optional, user
cn=admin,dc=nextcloud
, passwordnextcloud
) - https://localhost:9091 is Keycloak (for SAML, optional, user
admin
, passwordnextcloud
)
- Open PhpLdapAdmin and log in with
cn=admin,dc=nextcloud
as User-DN andnextcloud
as password - Create a new entry with the template "Generic: Posix Group"
- Create a new Entry with the template "Generic: User Account" as child entry of the group
- Enable "LDAP user and group backend" in Nextcloud
- Go to "Settings" > "LDAP/AD Integration"
- Enter
openldap
as server and389
as port - Enter
cn=admin,dc=nextcloud
as User-DN andnextcloud
as password - Click on "Save Credentials"
- Enter
dc=nextcloud
as Base DN - Click on "Continue"
- Select "posixAccount" in "Object Classes"
- Click on "Continue"
- Select "cn" in "other attributes"
- Click on "Continue"
- Select "posixGroup" as object classes
- Install the "Two-Factor Gateway" app from the app store
- Run
npm run shell
from the terminal - Run
./occ twofactorauth:gateway:configure telegram
- Enter
703713714:AAGUFZfIINIm4_0Qo3i9qHNZVfduDbwHtnY
- Chat with the get_id_bot to get your Telegram id
- Open Keycloak and log in
- Follow this guide (internet archive link)
- Instead of
example.com
uselocalhost
- Instead of
login.example.com
uselocalhost:9091
- Don't forget to set a password for any created user
- Instead of
- You can translate the app on our Weblate
- If you want to add a new language, make a feature request and it will be added.