Passwall Server is the core backend infrastructure for Passwall platform
Passwall Server is the core backend infrastructure for Passwall platform
PassWall Server is the core backend for open source password manager PassWall platform. Using this server, you can safely store your passwords and access them from anywhere.
make updocker exec -it passwall-server /app/passwall-cliServer URL: http://localhost:3625# Create directory
mkdir $HOME/passwall-server
cd $HOME/passwall-server
# Download docker-compose.yml
wget https://raw.githubusercontent.com/passwall/passwall-server/main/build/docker/docker-compose.yml
# Start services
docker-compose up -d
# Create user
docker exec -it passwall-server /app/passwall-cligit clone https://github.com/passwall/passwall-server.git
cd passwall-servergo mod downloadmake install-toolsmake db-upmake runmake devThis will install and use Air for automatic reloading on code changes.
Run make help to see all available commands:
make help # Display help messagemake build # Build server and CLI binaries
make build-linux # Build for Linux
make build-darwin # Build for macOS
make build-all # Build for all platforms
make clean # Clean build artifactsmake generate # Run go generate
make lint # Run golangci-lint
make test # Run tests
make test-coverage # Run tests with coverage report
make install-tools # Install development toolsmake run # Build and run server locally
make dev # Run with hot reload (air)
make create-user # Create a new user with CLImake image-build # Build Docker image
make image-publish # Build and publish to Docker Hubmake up # Start all services (builds if needed)
make down # Stop all services
make restart # Restart all services
make logs # Show logs
make ps # Show running servicesmake db-up # Start PostgreSQL only
make db-down # Stop PostgreSQL
make db-logs # Show PostgreSQL logsmake ci # Run full CI pipeline
make check # Run lint and testmake version # Show version information
make info # Show build informationmake image-build# Login to Docker Hub first
docker login
# Build and publish
make image-publishDOCKER_TAG=v2.0.0 make image-build
DOCKER_TAG=v2.0.0 make image-publish| Variable | Description | Default |
|---|---|---|
PORT |
Server port | 3625 |
PW_SERVER_USERNAME |
Admin username | - |
PW_SERVER_PASSWORD |
Admin password | - |
PW_SERVER_PASSPHRASE |
Encryption passphrase | - |
PW_SERVER_SECRET |
JWT secret | - |
PW_SERVER_TIMEOUT |
Server timeout | 2 |
PW_SERVER_GENERATED_PASSWORD_LENGTH |
Generated password length | 16 |
PW_SERVER_ACCESS_TOKEN_EXPIRE_DURATION |
Access token expire duration | 30m |
PW_SERVER_REFRESH_TOKEN_EXPIRE_DURATION |
Refresh token expire duration | 7d |
| Variable | Description | Default |
|---|---|---|
PW_DB_NAME |
Database name | passwall |
PW_DB_USERNAME |
Database username | postgres |
PW_DB_PASSWORD |
Database password | password |
PW_DB_HOST |
Database host | localhost |
PW_DB_PORT |
Database port | 5432 |
PW_DB_LOG_MODE |
Enable DB logging | false |
PW_DB_SSL_MODE |
SSL mode | disable |
API documentation is available at Postman Public Directory
AES-GCM Encryption - Passwords are encrypted with AES in Galois/Counter Mode. Passwords can only be decrypted with the passphrase defined in your configuration.
Security Middlewares - Endpoints are protected against XSS attacks and other common vulnerabilities.
SQL Injection Prevention - Using Gorm ORM which automatically sanitizes all queries.
Rate Limiting - Built-in rate limiter for signin attempts to prevent brute force attacks.
JWT Authentication - Secure token-based authentication with access and refresh tokens.
PassWall Server can be used with:
I promise all the support will be spent on this project!
dev branch. The latest development version is there.// TODO: items in the code.git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)# Run all tests
make test
# Run tests with coverage
make test-coverage
# Run linter
make lint
# Run full CI pipeline
make ciThis project is licensed under the MIT License - see the LICENSE file for details.
If you like this project, please give it a ⭐ on GitHub!
Made with ❤️ by the PassWall Team
No open issues yet, or sync has not completed.