9
submitted 3 months ago by sabreW4K3@lazysoci.al to c/nextcloud@lemmy.ml

I installed NextCloud previously and it sucked. Most of it, in my mind was down to how slow and clunky it felt. I came here and people said the default installation can be like that, so I kinda just left things alone, determined that I would eventually come back and sort things.

Fast forward to now and my system has matured enough, well at least enough that I've installed Postgres and can access it via Adminer.

So I clear out all my directories, delete the container and decide it's time to reinstall NextCloud. Simple right? Wrong! It's telling me that I have the wrong username and password.

I asked for some help and someone said, don't give any app default access and that's fair and then they pointed me to the docs. The docs said to do some shit I didn't understand really. But from what I could gather, essentially open the console and run a command.

Problem! Every time I try and open the console for the container, it says it can't read the image details. Okay, let's work around that then. I open up Adminer and via SQL command run:

CREATE USER nextcloud WITH PASSWORD 'R4ND0MP4SS' CREATEDB;
CREATE DATABASE nextcloud TEMPLATE template0 ENCODING 'UTF8';
ALTER DATABASE nextcloud OWNER TO nextcloud;
GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextcloud;
GRANT ALL PRIVILEGES ON SCHEMA public TO nextcloud;

I actually manage to log into Adminer with said details. NextCloud on the other hand is telling me that the username and/or password is incorrect. What am I doing wrong?

top 9 comments
sorted by: hot top controversial new old
[-] superbirra@lemmy.world 5 points 3 months ago

The docs said to do some shit I didn't understand really. But from what I could gather, essentially open the console and run a command. Problem! Every time I try and open the console for the container, it says it can't read the image details. Okay, let's work around that then.

the problem is you can't really work around a problem you don't understand.

[-] sabreW4K3@lazysoci.al 1 points 3 months ago

You're right, hence me running into issues. But I figured running the command from my terminal was the same as me running it from Adminer

[-] krolden@lemmy.ml 2 points 3 months ago* (last edited 3 months ago)

I assume you're using docker? Paste your compose file here.

I am guessing you haven't set any of your postgres variables prior to running docker compose.

[-] sabreW4K3@lazysoci.al 2 points 3 months ago

I thought the installation script set the variables?

  db:
    container_name: db
    image: postgres
    restart: always
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: NOTMYREALPASS
    ports:
      - 5432:5432
    volumes:
      - /opt/postgres/data:/var/lib/postgresql/data
  nextcloud:
    image: lscr.io/linuxserver/nextcloud:latest
    container_name: nextcloud
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
    volumes:
      - /opt/nextcloud/config:/config
      - /opt/nextcloud/data:/data
    ports:
      - 2244:443
      - 2245:80
    restart: unless-stopped

[-] krolden@lemmy.ml 1 points 3 months ago* (last edited 3 months ago)

You need to set POSTGRES_DB (name it nextcloud_db or something) in both containers env and POSTGRES_HOST POSTGRES_USER and POSTGRES_PASSWORD in the nextcloud env

I would delete your previous containers as well as the config files before you run compose again.

also you didnt declare your variables as strings so they were not being recognized (i assume). I also like to put strings in quotes

also also. you had your postgres envs set with colons instead of =

this compose file should work

services:
    db:
        container_name: db
        image: postgres
        restart: always
        environment:
            - "POSTGRES_USER=postgres"
            - "POSTGRES_PASSWORD=NOTMYREALPASS"
            - "POSTGRES_DB=nextcloud_db"
        ports:
            - "5432:5432"
        volumes:
            - "/opt/postgres/data:/var/lib/postgresql/data"
    nextcloud:
        image: lscr.io/linuxserver/nextcloud:latest
        container_name: nextcloud
        environment:
            - "PUID=1000"
            - "PGID=1000"
            - "TZ=Europe/London"
            - "POSTGRES_DB=nextcloud_db"
            - "POSTGRES_HOST=db"
            - "POSTGRES_USER=postgres"
            - "POSTGRES_PASSWORD=NOTMYREALPASS"
        volumes:
            - "/opt/nextcloud/config:/config"
            - "/opt/nextcloud/data:/data"
        ports:
            - "2244:443"
            - "2245:80"
        restart: unless-stopped
[-] sabreW4K3@lazysoci.al 2 points 3 months ago

You know you're awesome right?

services:
    db:
        container_name: db
        image: postgres
        restart: always
        environment:
            - "POSTGRES_USER=postgres"
            - "POSTGRES_PASSWORD=NOTMYREALPASS"
            - "POSTGRES_DB=nextcloud_db"
        ports:
            - "5432:5432"
        volumes:
            - "/opt/postgres/data:/var/lib/postgresql/data"
    nextcloud:
        image: lscr.io/linuxserver/nextcloud:latest
        container_name: nextcloud
        environment:
            - "PUID=1000"
            - "PGID=1000"
            - "TZ=Europe/London"
            - "POSTGRES_DB=nextcloud_db"
            - "POSTGRES_HOST=db"

I just copied and pasted, what you wrote, but I'm noticing that in the compose, you're basically making the database NextCloud dedicated, rather than giving it a table. Is that best practice? Sorry if it seems a basic question, I'm still very much in my learning phase.

[-] krolden@lemmy.ml 2 points 3 months ago

Yes nextcloud requires the entire database. You could try moving all of your bind mounted dirs to a single dir for the entire compose stack so you dont mix it up with other postgresql containers you may use in the future. So like /opt/nextcloud/db/data:/var/lib/postgresql/data

Personally I like to use volumes for databases.

[-] sabreW4K3@lazysoci.al 2 points 3 months ago

I really need to thank you. Truly I learned so much from you and I'm extremely grateful. My database works properly now. Thank you!

[-] krolden@lemmy.ml 2 points 3 months ago
this post was submitted on 28 Mar 2024
9 points (100.0% liked)

nextcloud

665 readers
1 users here now

Nextcloud is a suite of client-server software for creating and using file hosting services.

https://nextcloud.com

https://github.com/nextcloud

IRC: #nextcloud on libera.chat
Matrix: #nextcloud:matrix.org

Other Nextcloud communities on Lemmy

founded 4 years ago
MODERATORS