Installing and Deploying Ente Standalone (without Docker)
Running Museum (Ente's server) without Docker
First, start by installing all the dependencies to get your machine ready for development.
# For MacOS
brew tap homebrew/core
brew update
brew install go
# For Ubuntu based distros
sudo apt update && sudo apt upgrade
sudo apt install golang-go
Alternatively, you can also download the latest binaries from 'All Release' page from the official website.
brew install postgres@15
# Link the postgres keg
brew link postgresql@15
brew install libsodium
# For Ubuntu based distros
sudo apt install postgresql
sudo apt install libsodium23 libsodium-dev
The package libsodium23
might be installed already in some cases.
Installing pkg-config
brew install pkg-config
# For Ubuntu based distros
sudo apt install pkg-config
Starting Postgres
With pg_ctl
pg_ctl -D /usr/local/var/postgres -l logfile start
Dependeing on the Operating System type the path for postgres binary or configuration file might be different, please check if the command keeps failing for you.
Ideally, if you are on a Linux system with systemd as the init. You can also start postgres as a systemd service. After Installation execute the following commands:
sudo systemctl enable postgresql
sudo systemctl daemon-reload && sudo systemctl start postgresql
Create user
createuser -s postgres
Start Museum
Start by cloning ente to your system.
git clone https://github.com/ente-io/ente
export ENTE_DB_USER=postgres
cd ente/server
go run cmd/museum/main.go
You can also add the export line to your shell's RC file, to avoid exporting the environment variable every time.
For live reloads, install air. Then you can just call air after declaring the required environment variables. For example,
ENTE_DB_USER=postgres
air
Museum as a background service
Please check the below links if you want to run Museum as a service, both of them are battle tested.
Once you are done with setting and running Museum, all you are left to do is run the web app and reverse_proxy it with a webserver. You can check the following resources for Deploying your web app.