DeviceGalaxy is a tool that lets you upload and share your devices. Upload your devices, select images, then share your collection with other people with share links.
To use DeviceGalaxy, you have 3 options.
If you don't want to self host, you can use the instance that I host at https://devicegalaxy.me
DeviceGalaxy can be ran as a Docker container. This ensures the same base OS and packages for DeviceGalaxy to use, no matter your system. To use it, follow these steps:
- download the
docker-compose.ymlfile and.env.examplefile. Inside the example env file, set all required variables, then rename the file to.env. - inside the compose file, change the external port / labels / version to your requirements.
- run
docker compose up -dto pull and run DeviceGalaxy in detached mode.
If you want to self host your own instance of DeviceGalaxy, follow these instructions:
- pull the repo from GitHub
- run
pnpm installto install dependencies - copy the example
.env.examplefile to.env, then fill in the required information - run
pnpm db:migrateto create the database and required tables - run
pnpm buildto build the project - run
node --env-file=.env buildto run the server
If you wish to contribute to DeviceGalaxy, here's how to run the dev server:
- pull the repo from GitHub
- run
pnpm installto install dependencies - copy the example
.env.examplefile to.env, then fill in the required information - run
pnpm db:migrateto create the database and required tables - run
pnpm devto start the Vite dev server
If you modify the database schema, use pnpm db:generate to create a new migration file. Make sure to check it first to ensure it looks correct, then use pnpm db:migrate to apply it. It is recommended to format your code using Prettier, and lint with eslint.