• 0 Posts
  • 3 Comments
Joined 3 months ago
cake
Cake day: November 28th, 2025

help-circle

  • I might be stupid, but I didn’t want to run the install script because I try and run everything via compose files in Komodo.

    I don’t know if this helps, but this is what my compose looks like:
    (Side note, I just put the ENV values directly into the compose. I know this is not recommended, so I put the values to use if you actually mount the env_file like you’re supposed to. )

    services:  
    # ------- Ideon-App ------- 
      ideon-app:  
        image: ghcr.io/3xpyth0n/ideon:latest  
        container_name: ideon-app  
    
    # If you want to do it correctly, mount the ENV_FILE  
    #    env_file:  
    #      - ${ENV_FILE:-.env}  
    # If you want to do it janky, follow me  
        environment: #If you mount a ENV_File, only PUID and PGID are needed below.  
          PUID: 1000 # Optional: User ID for file ownership (default: 1001)  
          PGID: 1000 # Optional: Group ID for file ownership (default: 1001)  
    
    # From the ENV_FILE:  
          APP_PORT: 3001 # Host port to expose the app (container listens on 3000) # I had Homepage on port 3000 so I moved Ideon to 3001  
          APP_URL: http://mymachinesip:3001/ # Public base URL of the app (used for invitations and SSO auth)  
          TIMEZONE: UTC # Canonical timezone for server logs ONLY  
          ### Database  
          #SQLITE_PATH=./storage/dev.db # Override SQLite path (optional) # Note: PostgreSQL variables are not required in "development" mode, SQLite is used automatically (storage/dev.db).  
          DB_HOST: ideon-db # PostgreSQL host or service name (Docker Compose: ideon-db)  
          DB_PORT: 5432 # PostgreSQL port (default 5432)  
          DB_NAME: ideon # PostgreSQL database name  
          DB_USER: ideon # PostgreSQL username  
          DB_PASS: # I ran "openssl rand -base64 15" in the terminal to get PW # PostgreSQL password  
          SECRET_KEY: # I ran "openssl rand -hex 32" in the terminal to get PW  
    
        depends_on:  
          ideon-db:  
            condition: service_healthy  
        restart: unless-stopped  
        ports:  
          - 3001:3001 #"${APP_PORT:-3000}:${APP_PORT:-3000}" 
        volumes:  
          - /mnt/app/containers/ideon/app:/app/storage  
        healthcheck:  
          test:  
            ["CMD", "curl", "-f", "http://localhost:3001/api/health"] #["CMD", "curl", "-f", "http://localhost/:${APP_PORT:-3000}/api/health"]  
          interval: 5s  
          timeout: 5s  
          retries: 5  
          start_period: 10s  
    
    # ------- Ideon-DB ------- 
      ideon-db:  
        image: postgres:16-alpine  
        container_name: ideon-db  
        restart: unless-stopped  
        environment:  
          POSTGRES_USER: ideon # ${DB_USER}  
          POSTGRES_PASSWORD:  #same as DB_PASS   #${DB_PASS}  
          POSTGRES_DB: ideon # ${DB_NAME} 
        volumes:  
          - /mnt/app/containers/ideon/db:/var/lib/postgresql/data #I just hardmount everything  
        healthcheck:  
          test: ["CMD-SHELL", "pg_isready -U ideon -d ideon"] #["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"]  
          interval: 2s  
          timeout: 5s  
          retries: 5  
    

    So far I love it. I wanted to use it locally for some low level importance notes before I try to move more over and set it up with an actual mounted env file on a VPS.

    My only thought so far is that its not the greatest on mobile, but I’m really not certain what that would even look like. (Edit: I’m dumb. I didn’t close the sidebar. It actually looks pretty good on mobile. Ignore me.)