Files
ente/docs/docs/self-hosting/install/standalone-ente.md
2025-07-14 09:52:25 +05:30

2.8 KiB

title, description
title description
Running Ente Without Docker - Self-hosting Installing and setting up Ente without Docker

Running Ente 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.

  1. How to run museum as a systemd service
  2. Museum.service

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.

  1. Hosting the Web App.
  2. Running Ente Web app as a systemd Service