Setting with Compose install

Hello, I am trying to get Ente to run and it has raised a few questions Can you guys help? 1. Is Minio come installed with it, or do I need to install it sep? Ente web app seems to be running on the sever, if that helps 2. How do I set up the api endpoint using a reverse api? I tried to link it to enteapi.mydomain.com. Also, ports 8080, and 443 are already in use. My firewall blocks all ports except 80, and 443, so I have set up a reverse proxy as follows: <virtualHost *:80> ServerName enteapi.mydomain.com ProxyPass / http://localhost:3200/ ProxyPassReverse / http://localhost:3200/ </virtualHost> <virtualHost *:80> ServerName ente.mydomain.com ProxyPass / http://localhost:8081/ ProxyPassReverse / http://localhost:8081/ </virtualHost> The webapp runs, but doesn’t accept enteapi.myentedomain.com as my api_endpoint. Does that need to be set elsewhere? 3. I attached the compose.yaml file, I think this is set up correctly, but I’m not sure
18 Replies
Ducky
Ducky4mo ago
Remember to use /solved to mark your thread as solved once your question is answered.
codedcosmos
codedcosmos4mo ago
Mino is installed but I had to do additional setup (You can see if its running with docker ps) Are you using nginx?
Keerthana
Keerthana4mo ago
Hey there, did you modify ENTE_API_ORIGIN after starting the cluster? From your above config, it's not set. It's needed for the correct API endpoint that's been bound to a domain to be used
Jarred-Awesome
Jarred-AwesomeOP4mo ago
No, my sever uses Apache as the engine. I installed ente using the Docker Compose install I’ll look into that. Do I have to set it to the domain?
Keerthana
Keerthana4mo ago
Yes
Jarred-Awesome
Jarred-AwesomeOP4mo ago
I changed the following:
web:
image: ghcr.io/ente-io/web
# Uncomment what you need to tweak.
ports:
- 3000:3000 # Photos web app
# - 3001:3001 # Accounts
- 3002:3002 # Public albums
# - 3003:3003 # Auth
# - 3004:3004 # Cast
# Modify these values to your custom subdomains, if using any
environment:
ENTE_API_ORIGIN: https://localhost:8081/
ENTE_ALBUMS_ORIGIN: https://localhost:3002
web:
image: ghcr.io/ente-io/web
# Uncomment what you need to tweak.
ports:
- 3000:3000 # Photos web app
# - 3001:3001 # Accounts
- 3002:3002 # Public albums
# - 3003:3003 # Auth
# - 3004:3004 # Cast
# Modify these values to your custom subdomains, if using any
environment:
ENTE_API_ORIGIN: https://localhost:8081/
ENTE_ALBUMS_ORIGIN: https://localhost:3002
web:
image: ghcr.io/ente-io/web
# Uncomment what you need to tweak.
ports:
- 3000:3000 # Photos web app
# - 3001:3001 # Accounts
- 3002:3002 # Public albums
# - 3003:3003 # Auth
# - 3004:3004 # Cast
# Modify these values to your custom subdomains, if using any
environment:
ENTE_API_ORIGIN: https://enteapi.mydomain.com:8081/
ENTE_ALBUMS_ORIGIN: https://localhost:3002
web:
image: ghcr.io/ente-io/web
# Uncomment what you need to tweak.
ports:
- 3000:3000 # Photos web app
# - 3001:3001 # Accounts
- 3002:3002 # Public albums
# - 3003:3003 # Auth
# - 3004:3004 # Cast
# Modify these values to your custom subdomains, if using any
environment:
ENTE_API_ORIGIN: https://enteapi.mydomain.com:8081/
ENTE_ALBUMS_ORIGIN: https://localhost:3002
didn't seem to make a difference. If I load the endpoint in my browser, should I see anything? At the moment I just get a "service unavailable" screen. I assumed that was because the endpoint didn't send anything the browser could use
Keerthana
Keerthana4mo ago
Hey you don't have to use the port if you are using domain. Just https://enteapi.mydomain.com is needed
Jarred-Awesome
Jarred-AwesomeOP4mo ago
I just gave it a try, and still nada unfortionatly I have my reverse proxy pointing to 8081, so i have this in there:
services:
museum:
image: ghcr.io/ente-io/server
ports:
- 8081:8081 # API
services:
museum:
image: ghcr.io/ente-io/server
ports:
- 8081:8081 # API
does that need to be changed?
Keerthana
Keerthana4mo ago
API is running in 8080 in container. So you will have to use 8081:8080
Jarred-Awesome
Jarred-AwesomeOP4mo ago
Excellent, I set that and it's still giving me errors. Can I ask, if i load up the API url in a browser, what should I see? Also, minio works on port 3200, which is blocked by the firewall, but I am assuming that only called from withinthe localhost, so it shouldn't matter. correct? Here is my compose.yaml
services:
museum:
image: ghcr.io/ente-io/server
ports:
- 8081:8080 # API
depends_on:
postgres:
condition: service_healthy
volumes:
- ./museum.yaml:/museum.yaml:ro
- ./data:/data:ro

# Resolve "localhost:3200" in the museum container to the minio container.
socat:
image: alpine/socat
network_mode: service:museum
depends_on: [museum]
command: "TCP-LISTEN:3200,fork,reuseaddr TCP:minio:3200"

web:
image: ghcr.io/ente-io/web
# Uncomment what you need to tweak.
ports:
- 3000:3000 # Photos web app
# - 3001:3001 # Accounts
- 3002:3002 # Public albums
# - 3003:3003 # Auth
# - 3004:3004 # Cast
# Modify these values to your custom subdomains, if using any
environment:
ENTE_API_ORIGIN: http://enteapi.mydomain.com
ENTE_ALBUMS_ORIGIN: https://localhost:3002

postgres:
image: postgres:15
environment:
POSTGRES_USER: pguser
POSTGRES_PASSWORD: EDITED OUT
POSTGRES_DB: ente_db
healthcheck:
test: pg_isready -q -d ente_db -U pguser
start_period: 40s
start_interval: 1s
volumes:
- postgres-data:/var/lib/postgresql/data

minio:
image: minio/minio
ports:
- 3200:3200 # MinIO API
# Uncomment to enable MinIO Web UI
# - 3201:3201
environment:
MINIO_ROOT_USER: EDITED OUT
MINIO_ROOT_PASSWORD: EDITED OUT
command: server /data --address ":3200" --console-address ":3201"
volumes:
- minio-data:/data
post_start:
- command: |
sh -c '
#!/bin/sh

while ! mc alias set h0 http://minio:3200 minio-user-EDITED OUT 2>/dev/null
do
echo "Waiting for minio..."
sleep 0.5
done

cd /data

mc mb -p b2-eu-cen
mc mb -p wasabi-eu-central-2-v3
mc mb -p scw-eu-fr-v3
'
volumes:
postgres-data:
minio-data:
services:
museum:
image: ghcr.io/ente-io/server
ports:
- 8081:8080 # API
depends_on:
postgres:
condition: service_healthy
volumes:
- ./museum.yaml:/museum.yaml:ro
- ./data:/data:ro

# Resolve "localhost:3200" in the museum container to the minio container.
socat:
image: alpine/socat
network_mode: service:museum
depends_on: [museum]
command: "TCP-LISTEN:3200,fork,reuseaddr TCP:minio:3200"

web:
image: ghcr.io/ente-io/web
# Uncomment what you need to tweak.
ports:
- 3000:3000 # Photos web app
# - 3001:3001 # Accounts
- 3002:3002 # Public albums
# - 3003:3003 # Auth
# - 3004:3004 # Cast
# Modify these values to your custom subdomains, if using any
environment:
ENTE_API_ORIGIN: http://enteapi.mydomain.com
ENTE_ALBUMS_ORIGIN: https://localhost:3002

postgres:
image: postgres:15
environment:
POSTGRES_USER: pguser
POSTGRES_PASSWORD: EDITED OUT
POSTGRES_DB: ente_db
healthcheck:
test: pg_isready -q -d ente_db -U pguser
start_period: 40s
start_interval: 1s
volumes:
- postgres-data:/var/lib/postgresql/data

minio:
image: minio/minio
ports:
- 3200:3200 # MinIO API
# Uncomment to enable MinIO Web UI
# - 3201:3201
environment:
MINIO_ROOT_USER: EDITED OUT
MINIO_ROOT_PASSWORD: EDITED OUT
command: server /data --address ":3200" --console-address ":3201"
volumes:
- minio-data:/data
post_start:
- command: |
sh -c '
#!/bin/sh

while ! mc alias set h0 http://minio:3200 minio-user-EDITED OUT 2>/dev/null
do
echo "Waiting for minio..."
sleep 0.5
done

cd /data

mc mb -p b2-eu-cen
mc mb -p wasabi-eu-central-2-v3
mc mb -p scw-eu-fr-v3
'
volumes:
postgres-data:
minio-data:
Keerthana
Keerthana4mo ago
Lgtm. Isn't domain for API https? Check that once.
Jarred-Awesome
Jarred-AwesomeOP4mo ago
I did try it a few times with and without https. I will check it again. Do you know what happens when you load the api url directly into a browser?
Keerthana
Keerthana4mo ago
Jarred-Awesome
Jarred-AwesomeOP4mo ago
Leads to the same service-unavailable page. I tried unblocking 8081 from my firewall, and connecting directly, and it gave me the same thing. Is there somewhere else I should be looking at changing the settings? I turned off the other applicaton that was using 8080, and then I changed everything on ente back to the default ports, I then went into terminal and did ping https://localhost:8080 and it said it could not connect. I don't think this is a port or a firewall issue, I think the api simply isn't running. I say this because it would connect using that command with the other application
Keerthana
Keerthana4mo ago
Hey localhost domain uses http and not https... Please check the protocol correctly and ping again. Try running without reverse proxy and see how it goes.
Jarred-Awesome
Jarred-AwesomeOP4mo ago
I tried all of that and it didn't change anything. The good news is i figured out the problem. After making changes to the file I was starting it by doing docker compose up -d turns out that doesn't update everything. so instead i did docker compose build then did docker compose up and everyhing ran as expected Thank you for all your help
Keerthana
Keerthana4mo ago
Build I think isn't needed. Doing a down could have worked. Interesting. Thanks for letting us know about this :)
Ducky
Ducky4mo ago
Thread marked as solved. It will be closed in <t:1752726828:R>. This thread is now closed.

Did you find this page helpful?