d0e461e206
This issue was caused by an INSERT statement which adds the admin user to the admin group. The admin user is created at initialization, so for new installs it does not exist at the time migration scripts are run. Additionally, new javascript-coded migrations (.mig.js) would not have run for new installs because of redundant (WET; not DRY) code for initial setup. This commit also improves error handling of the migration service, which was necessary to diagnose this issue. In the future, setup always needs to be tested after updating migration scripts, even though migration of existing databases is where most of the issues will happen. Resolves: #639 |
||
---|---|---|
.github | ||
awesome | ||
badges | ||
doc | ||
experiments | ||
mods | ||
src | ||
tools | ||
volatile | ||
.dockerignore | ||
.env.example | ||
.gitattributes | ||
.gitignore | ||
.is_puter_repository | ||
addlicense.yml | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
docker-compose.yml | ||
Dockerfile | ||
eslint.config.js | ||
exports.js | ||
LICENSE.txt | ||
package-lock.json | ||
package.json | ||
README.md | ||
SECURITY-ACKNOWLEDGEMENTS.md | ||
SECURITY.md |
The Internet OS! Free, Open-Source, and Self-Hostable.
« LIVE DEMO »
Puter.com
·
SDK
·
Discord
·
Reddit
·
X (Twitter)
·
Bug Bounty
Puter
Puter is an advanced, open-source internet operating system designed to be feature-rich, exceptionally fast, and highly extensible. Puter can be used as:
- A privacy-first personal cloud to keep all your files, apps, and games in one secure place, accessible from anywhere at any time.
- A platform for building and publishing websites, web apps, and games.
- An alternative to Dropbox, Google Drive, OneDrive, etc. with a fresh interface and powerful features.
- A remote desktop environment for servers and workstations.
- A friendly, open-source project and community to learn about web development, cloud computing, distributed systems, and much more!
Getting Started
💻 Local Development
git clone https://github.com/HeyPuter/puter
cd puter
npm install
npm start
This will launch Puter at http://localhost:4000 (or the next available port).
🐳 Docker
mkdir puter && cd puter && mkdir -p puter/config puter/data && sudo chown -R 1000:1000 puter && docker run --rm -p 4100:4100 -v `pwd`/puter/config:/etc/puter -v `pwd`/puter/data:/var/puter ghcr.io/heyputer/puter
🐙 Docker Compose
Linux/macOS
mkdir -p puter/config puter/data
sudo chown -R 1000:1000 puter
wget https://raw.githubusercontent.com/HeyPuter/puter/main/docker-compose.yml
docker compose up
Windows
mkdir -p puter
cd puter
New-Item -Path "puter\config" -ItemType Directory -Force
New-Item -Path "puter\data" -ItemType Directory -Force
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/HeyPuter/puter/main/docker-compose.yml" -OutFile "docker-compose.yml"
docker compose up
☁️ Puter.com
Puter is available as a hosted service at puter.com.
Support
Connect with the maintainers and community through these channels:
- Bug report or feature request? Please open an issue.
- Discord: discord.com/invite/PQcx7Teh8u
- X (Twitter): x.com/HeyPuter
- Reddit: reddit.com/r/puter/
- Mastodon: mastodon.social/@puter
- Email maintainers at hi@puter.com
We are always happy to help you with any questions you may have. Don't hesitate to ask!
License
This repository, including all its contents, sub-projects, modules, and components, is licensed under AGPL-3.0 unless explicitly stated otherwise. Third-party libraries included in this repository may be subject to their own licenses.