Search code examples
linuxdockeroctopus-deploy

Cannot sign-in to Octopus Deploy after docker installation


I am trying to setup octopus using linux docker image. After container was created I saw sign-in page but I cannot sign-in using admin login and password ("Invalid username or password."). Do you have any suggestions what can be wrong?

This is my docker-compose file:


version: '3.7'  
services:  
  octopus:  
    image: octopusdeploy/octopusdeploy  
    hostname: octopus  
    container_name: octopus  
    privileged: true  
    environment:  
      ACCEPT_EULA: Y  
      OCTOPUS_SERVER_NODE_NAME: ${OCTOPUS_SERVER_NODE_NAME}  
      DB_CONNECTION_STRING: ${MSSQL_DB_CONNECTION_STRING}  
      ADMIN_USERNAME: ${OCT_ADMIN_USERNAME}  
      ADMIN_PASSWORD: ${OCT_ADMIN_PASSWORD}  
      ADMIN_EMAIL: ${OCT_ADMIN_EMAIL}  
      OCTOPUS_SERVER_BASE64_LICENSE: ${OCTOPUS_SERVER_BASE64_LICENSE}  
      MASTER_KEY: ${OCT_MASTER_KEY}  
      ADMIN_API_KEY: ${OCT_ADMIN_API_KEY}  
    ports:  
      - "8086:8080"  
      - "10943:10943"  
    expose:  
      - "443"  
    depends_on:  
      - octopus_mssql  
    volumes:  
      - ./octopus/octopus/repository:/repository  
      - ./octopus/octopus/artifacts:/artifacts  
      - ./octopus/octopus/taskLogs:/taskLogs  
      - ./octopus/octopus/cache:/cache  
    networks:  
      - tech-network  

  octopus_mssql:  
    image: mcr.microsoft.com/mssql/server:2017-latest-ubuntu  
    hostname: octopus_mssql  
    container_name: octopus_mssql  
    environment:  
      SA_PASSWORD: ${MSSQL_SA_PASSWORD}  
      ACCEPT_EULA: Y  
      # Prevent SQL Server from consuming the defult of 80% physical memory.  
      MSSQL_MEMORY_LIMIT_MB: 2048  
      MSSQL_PID: Express  
    expose:  
      - "1433"  
    healthcheck:  
      test: [ "CMD", "/opt/mssql-tools/bin/sqlcmd", "-U", "sa", "-P", "${MSSQL_SA_PASSWORD}", "-Q", "select 1"]  
      interval: 10s  
      retries: 10  
    volumes:  
      - ./octopus/mssql/data:/var/opt/mssql  
    networks:  
      - tech-network

Env file (some values like values and API KEY were changed):

MSSQL_SA_PASSWORD=_passtomssql_  
OCT_ADMIN_USERNAME=admin  
OCT_ADMIN_PASSWORD=_adminPassword_  
OCT_ADMIN_EMAIL=octopus@g.com  
OCTOPUS_SERVER_NODE_NAME=octopus  
MSSQL_DB_CONNECTION_STRING=Server=octopus_mssql,1433;Database=OctopusDeploy;User=sa;Password=_passtomssql_  
OCTOPUS_SERVER_BASE64_LICENSE=_license in base64_  
OCT_MASTER_KEY=_master key_  
OCT_ADMIN_API_KEY=API-1234567890E1F1234567

I tried to change password for admin in octopus container:
/Octopus/Octopus.Server admin --username=admin --password=NewPassword1234

Command was successful, yet I still cannot sign-in from UI:

Checking the Octopus Master Key has been configured.  
Making sure it's safe to upgrade the database schema...  
Ensuring pre-conditions for upgrading the database are satisfied...  
Searching for indexes that might upset the database upgrade process...  
- PASS: All columns use the default collation.  
- PASS: Your Octopus Server will be compliant with your license after upgrading.  
- PASS: We've done our best to remove any unexpected database indexes.  
- PASS: The version of your SQL Server satisfies Octopus Server installation requirements.  
Executing always run pre scripts...  
Executing TSQL Database Server script 'Octopus.Core.UpgradeScriptsAlwaysPre.Script0000 - Set highest available compatibility level.sql'  
Current COMPATIBILITY_LEVEL for OctopusDeploy is set to 140  
Ensuring COMPATIBILITY_LEVEL for OctopusDeploy is set to 140  
COMPATIBILITY_LEVEL for OctopusDeploy is already 140 or higher  
Checking to see if database schema upgrade is required...  
Database already has the expected schema. No changes are required.  
Executing always run post scripts...  
Executing TSQL Database Server script 'Octopus.Core.UpgradeScriptsAlwaysPost.Script0000 - Refresh Views.sql'  
Refreshing view dbo.Dashboard  
Refreshing view dbo.IdsInUse  
Refreshing view dbo.MultiTenancyDashboard  
Refreshing view dbo.Release_WithDeploymentProcess  
Refreshing view dbo.RunbookSnapshot_WithRunbookProcess  
Refreshing view dbo.TenantProject  
Creating or modifying administrator 'admin'  
Setting password for user admin  
Done.

Solution

  • Two suggestions/questions:

    1. Try removing the Admin API key. It should work if you have API key and password specified, but if something is going wrong here, it could be that the admin user is being created as a service account.
    2. The latest tag of octopusdeploy/octopusdeploy for Linux seems to be broken at time of writing. Can you add the 2020.4 tag to your image? "octopusdeploy/octopusdeploy:2020.4"